読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.304 鍵(1)

問題はこちら
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演算ではだめなのか