Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
1,258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. char s[1005];
  4. int ans,pos0,pos1,n;
  5. void send()
  6. {
  7.     printf("? %s\n",s);
  8.     fflush(stdout);
  9.     scanf("%d",&ans);
  10.     ans=n-ans;
  11. }
  12. int main()
  13. {
  14.     scanf("%d",&n);
  15.     for (int i=0;i<n;i++)
  16.     s[i]='1';
  17.     send();
  18.     int mans=ans;
  19.     s[0]='0';
  20.     send();
  21.     if (mans>ans)
  22.     pos1=1;
  23.     else
  24.     pos0=1;
  25.     s[0]='1';
  26.     int st=1,en=n;
  27.     while (st!=en)
  28.     {
  29.         int mid=(st+en)/2;
  30.         for (int i=1;i<=mid;i++)
  31.         s[i]='0';
  32.         send();
  33.         if ((mans-ans)*(pos1? 1:-1)==mid)
  34.         st=mid+1;
  35.         else
  36.         en=mid;
  37.         for (int i=1;i<=mid;i++)
  38.         s[i]='1';
  39.     }
  40.     if (!pos0)
  41.     pos0=st+1;
  42.     else
  43.     pos1=st+1;
  44.     printf("! %d %d",pos0,pos1);
  45.     fflush(stdout);
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement