問題はこちら
No.418 ミンミンゼミ - yukicoder
Sはミーン文字列の結合であり、ミーン文字列には'n'がちょうど1つ含まれることから、nの個数を数えれば良い
int main(){ char c[110]; int i,s=0; gets(c); for(i=0;c[i];i++)if(c[i]=='n')s++; printf("%d",s); return 0; }
Sには'm''i''-''n'のいずれかしか含まれないことから、最下位bitを見ればnが識別できる
改行の分を1減らす必要があるので、マイナス方向へ数えていって、最後にbitnotをする
s;main(i){for(;i=~getchar();s-=i&1);s=!printf("%d",~s);}
56B
2016/10/16追記
出力もまとめる
i;main(s){for(;i=~getchar()?:!printf("%d",-s);s-=i&1);}
55B