[互動題][CF1064E]Dwarves, Hats and Extrasensory Abilities:二分
阿新 • • 發佈:2018-11-12
分析:
二分,把每個新棋子放在左右端點的中間位置mid,根據顏色判斷該歸為左邊或右邊,再移動左/右端點。
程式碼:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cctype> #include <algorithm> int n; char s[6]; int main(){ scanf("%d",&n); n--; printf("0 1\n"); fflush(stdout); scanf("%s",s+1); if(!n){ printf("233 332 332 233\n"); fflush(stdout); return 0; } bool flag=0; if(s[1]=='w') flag=0; else flag=1; int l=0,r=1e9; int ansl,ansr; while(n--){ if(!n) ansl=l,ansr=r; int mid=((l+r)>>1); printf("%d %d\n",mid,1); fflush(stdout); scanf("%s",s+1); if(s[1]=='w'){ if(!flag) l=mid,ansl=mid; else r=mid,ansr=mid; } else{ if(!flag) r=mid,ansr=mid; else l=mid,ansl=mid; } } printf("%d %d %d %d\n",ansl,2,ansr,0); fflush(stdout); return 0; }