メモ

yukicoderでゆるふわgolf

yukicoder No.706 多眼生物の調査

問題はこちら
No.706 多眼生物の調査 - yukicoder

strlen(s)-2の最頻値を見るだけ

int a[1010];
int main(){
	int n;
	scanf("%d\n",&n);
	for(int i=0;i<n;i++){
		char s[1010];
		gets(s);
		a[strlen(s)-2]++;
	}
	
	int ans=2;
	for(int i=2;i<=1000;i++)if(a[i]>=a[ans])ans=i;
	printf("%d",ans);
}

ぐっと睨んでループをまとめる。文字列を読み込む変数をごまかしたり、端の処理をごまかしても通る

k,a[999],i;
main(m){
	for(;gets(&k)?++a[strlen(&k)]:i++<998?m=a[i]<a[m]?m:i:0;);
	printf("%d",m-2);
}

95B
これは996までしかチェックしていないので997や998が答えになるときWAになる