メモ

yukicoderでゆるふわgolf

yukicoder No.516 赤と青の風船

問題はこちら
No.516 赤と青の風船 - yukicoder

入力を読み込んで、それがBLUEかREDか判別する

char s[10];
b,r;
main(){
	for(int i=0;i<3;i++){
		scanf("%s",s);
		if(strcmp(s,"BLUE")==0)b++;
		else r++;
	}
	if(b<r)puts("RED");
	else puts("BLUE");
}

各文字列の長さが短いのでint型に読み込んでも大丈夫そう。
文字数が違うので、BLUEとREDをint型として見た時の値の大きさは大きく異なり、例えばこういうのが考えられる

s;
main(i){
	for(;gets(&i);s+=i>>30);
	puts(s>1?"BLUE":"RED");
}

ただ、もっとよく考えると、BLUEがINT_MAX/2より僅かに大きいことを利用して次のようにできる

s;
main(i){
	for(;gets(&i);s+=i);
	puts(s<0?"BLUE":"RED");
}

54B