問題はこちら
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