問題はこちら
No.104 国道 - yukicoder
日本語で説明するのが難しいが、二分木に上から順に番号を振っているので、
n号線は2n号線と(2n+1)号線に分岐する
ということで、1文字目から順に処理していく
int main(){ int a=1,i; char s[40]; gets(s); for(i=0;s[i];i++){ if(s[i]=='L')a=a*2; else a=a*2+1; } printf("%d",a); return 0; }
getcharで頭から読んでいくだけ
b; main(a){ for(;b=getchar()-10;a=a*2|b>71); b=!printf("%d",a); }
61B
16/06/18追記
b;main(a){for(;b=getchar()-10?:!printf("%d",a);a=a*2|b>71);}
60B