問題はこちら
No.257 N言っちゃダメゲーム (3) - yukicoder
先手後手の選択は次のように読み替えられる
「あなたは先手であり、最初の1手に限り0が認められる」
ということで、以前やったとおり(N-1)%(K+1)を初手で言い、後はK+1ずつ増やした値を言っていけば良い
(つまり相手が何を言ったかは関係ない)
int main(){ int n,k,t,now; scanf("%d%d",&n,&k); now=(n-1)%(k+1); do{ printf("%d\n",now); fflush(0); scanf("%d",&t); now+=k+1; }while(t<n); return 0; }
相手が何言ったか関係ないなら、scanfいらなくない?
s,k;main(n){for(scanf("%d%d",&n,&k);s-6;fflush(!printf("%d\n",~-n%~k-~k*s++)));}
80B
…ところがこれだとWAが混じる。再提出すると同じケースでもACだったりWAだったりしてよくわからない
しかたがないのでちゃんと終了条件を見ることにする
t,s,k;main(n){for(scanf("%d%d",&n,&k);t<n;scanf("%d",&t))fflush(!printf("%d\n",~-n%~k-~k*s++));}
96B