codeforces 1011D Rocket(互動題)
阿新 • • 發佈:2018-12-24
基本沒寫過這種題,平時做題見的很少。
#include <bits/stdc++.h> using namespace std; int p[1010]; int m,n; int main() { scanf("%d%d",&m,&n); int cnt=0; for(int i=0;i<n;++i) { printf("1\n"); fflush(stdout);// int flag; scanf("%d",&flag); if(flag==1) p[i]=1;//提前搞出p數列 else if(flag==-1) p[i]=0; else exit(0); } int l=1,r=m,i=0; while(l<=r) { int mid=(l+r)>>1; printf("%d\n",mid); fflush(stdout);// int flag; scanf("%d",&flag); if(flag==0) exit(0); if(p[i%n]==0) { if(flag==1) r=mid-1; else l=mid+1; } else { if(flag==1) l=mid+1; else r=mid-1; } i++; } return 0; }