0 Judge
Code: 0
卦長喜歡喝擁有強烈酒精的飲料。有一次因為喝了1/4瓶伏特加,精神已經達到萎靡的狀態,在廚房裡遇到兩名競程的學生,張XX和莊XX,只記得在和他們玩了一下之後,就有人覺得寫程式這件事沒什麼,當下就想到了一種特殊的題目-古可魚語,來反擊他。
由於很多人都覺得寫非演算法型的程式沒什麼,所以我決定讓各位體會一下真正的暴力題是什麼感覺。現在有一種稱為$SM$語的語言,他是一種基于過程的語言(procedure-based language),是由一堆函數所組成的,函數裡面可以呼叫其他函數。在$SM$語中所有的變數都是binary類型,即只有0和1,且變數名稱一定是英文字母。他還是無空白程式語言,假設有一個$SM$語言的程式,在其任何位置加上或減去任意的空白、換行等字元(' ','\n','\r','\t'...),都是和原來的程式等價的。接下來會描述他所有的合法狀態(statement):
一個函數的定義為<函數名稱>(<變數序列>) B,這裡B是一個程式碼區塊,變數序列的變數以逗號(,)隔開,而所謂的"當前函數內的所有變數"即為這個函數中所傳入的變數,我們保證函數名稱和變數名稱不會是if或else。像是f(x){gg=1;}這樣就不是一個合法的函數。我們保證輸入不會不合法的函數,再輸入完所有函數後,如果有任何函數會發生無限遞迴,請輸出SM,否則輸入MS。
輸入會包含一個到多個函數,函數名稱及變數名稱不會超過100個字元,不會有不合法的語法出現,保證同一個函數中不會有相同的變數名稱及變數名稱和函數名稱相同的情況,以EOF作為結束。
若其中任何一個函數在某些特定的參數下會無限遞迴,就輸出SM,否則輸出MS。
as d f(x , y,z){
z=x;
x=y;
y=z;
if(x){
asd as da(x,y,z,x,y,z,y);
}else{
}
}
asdasd a(a,b,c,d,e,f,g){
a=!a;
if(a^b&(c|d)){
c=a;
as df(a,b,c);
}else{
b=a;
}
}
MS
f(x){
x=!1;
x=!x;
if(x&1){
{
{
{}
}
}
f(x);
}else{
{{{{{{{{{{{f(0);f(1);{{}f(0);}}}}}f(1);}}}}}}}
f(0);
}
}
SM
f(){
if(1|1&0){
}else{
{
{f();}
}
}
}
SM
f(){{{{}}}}
MS