問題はこちら
No.304 鍵(1) - yukicoder
総当りすれば良い
int main(){ int i; char s[20]; for(i=0;i<1000;i++){ printf("%03d\n",i); fflush(0); scanf("%s",s); if(strcmp(s,"unlocked")==0)break; } return 0; }
文字列をint型に読み込むいつもの暴挙をやって短縮
s,i;main(){for(;fflush(!printf("%03d\n",i++)),gets(&s),s=~s%2;);}
'u'は117、'l'は108なので最下位bitで判別がつく
65B。なお
s,i;main(){for(;fflush(!printf("%03d\n",i++)),gets(&s),s&=8;);} s,i;main(){for(;fflush(!printf("%03d\n",i++)),gets(&s),s=s&8;);}
だとRE。違いがわからん。bit演算ではだめなのか
2017/08/01追記
コンパイラのバージョンアップによってACできるようになった
i;main(s){for(;fflush(!printf("%03d\n",i++)),gets(&s),s&8;);}
61B