Guest User

Untitled

a guest
Apr 21st, 2020
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.40 KB | None | 0 0
  1.         #include <bits/stdc++.h>
  2.         using namespace std;
  3.         #define tani_nachi_ke  ios_base::sync_with_stdio(false); cin.tie(NULL);
  4.         #define M_PI 3.14159265358979323846
  5.         #define data data_
  6.         #define ff first
  7.         #define ss second
  8.         #define pb push_back
  9.         #define ld long double
  10.         #define int long long
  11.         #define print(t) cout << "Case #" << t << ": ";
  12.  
  13.         // for line x = 0
  14.         int funx(int X)
  15.         {
  16.             int l = -1e9;
  17.             int r = 1;
  18.             while(l < r)
  19.             {
  20.                 int mid = (l + r - 1)/2;
  21.                 cout << X << " " << mid << endl;
  22.                 string s;
  23.                 cin >> s;
  24.                 if(s == "MISS")
  25.                 {
  26.                     l = mid + 1;
  27.                 }
  28.                 else if(s == "HIT")
  29.                 {
  30.                     r = mid;
  31.                 }
  32.                 else
  33.                 {
  34.                     return mid;
  35.                 }
  36.             }
  37.  
  38.             int a = l;
  39.             l = -1, r = 1e9;
  40.             while(l < r)
  41.             {
  42.                 int mid = (l + r + 1)/2;
  43.                 cout << X << " " << mid << endl;
  44.                 string s;
  45.                 cin >> s;
  46.                 if(s == "MISS")
  47.                 {
  48.                     r = mid - 1;
  49.                 }
  50.                 else if(s == "HIT")
  51.                 {
  52.                     l = mid;
  53.                 }
  54.                 else
  55.                 {
  56.                     return mid;
  57.                 }
  58.             }
  59.             int b = l;
  60.            
  61.  
  62.             if(a != 1 && b != -1)
  63.                 return (a + b)/2;
  64.             else if(a != 1)
  65.                 return a;
  66.             else if(b != -1)
  67.                 return b;
  68.             else
  69.                 return -3e9;
  70.         }
  71.  
  72.         // for line y = 0
  73.         int funy(int Y)
  74.         {
  75.             int l = -1e9;
  76.             int r = 1;
  77.             while(l < r)
  78.             {
  79.                 int mid = (l + r - 1)/2;
  80.                 cout << mid << " " << Y << endl;
  81.                 string s;
  82.                 cin >> s;
  83.                 if(s == "MISS")
  84.                 {
  85.                     l = mid + 1;
  86.                 }
  87.                 else if(s == "HIT")
  88.                 {
  89.                     r = mid;
  90.                 }
  91.                 else
  92.                 {
  93.                     return mid;
  94.                 }
  95.             }
  96.  
  97.             int a = l;
  98.             l = -1, r = 1e9;
  99.             while(l < r)
  100.             {
  101.                 int mid = (l + r + 1)/2;
  102.                 cout << mid << " " << Y << endl;
  103.                 string s;
  104.                 cin >> s;
  105.                 if(s == "MISS")
  106.                 {
  107.                     r = mid - 1;
  108.                 }
  109.                 else if(s == "HIT")
  110.                 {
  111.                     l = mid;
  112.                 }
  113.                 else
  114.                 {
  115.                     return mid;
  116.                 }
  117.             }
  118.             int b = l;
  119.  
  120.             if(a != 1 && b != -1)
  121.                 return (a + b)/2;
  122.             else if(a != 1)
  123.                 return a;
  124.             else if(b != -1)
  125.                 return b;
  126.             else
  127.                 return -3e9;
  128.         }
  129.  
  130.  
  131.         int32_t main()
  132.         {
  133.            
  134.            int T;
  135.            cin >> T;
  136.                 int a,b;
  137.  
  138.            cin >> a >> b;
  139.  
  140.            while(T--)
  141.            {
  142.  
  143.                 vector<pair<int,int>> points;
  144.                 int x = funy(0);
  145.                 int y = funx(0);
  146.                 bool ok = 0;
  147.                 int a[7] = {-3, -2, -1, 0, 1, 2, 3};
  148.                 for(int i = 0; i < 7; i++)
  149.                 {
  150.                     if(ok)
  151.                         break;
  152.                     for(int j = 0; j < 7; j++)
  153.                     {
  154.                         int curx = x + a[i];
  155.                         int cury = y + a[j];
  156.                         cout << curx << " " << cury << endl;
  157.                         string s;
  158.                         cin >> s;
  159.                         if(s == "CENTER")
  160.                         {
  161.                             ok = 1;
  162.                             break;
  163.                         }
  164.                     }
  165.                 }
  166.                 if(!ok)
  167.                     return 0;
  168.  
  169.            }
  170.            
  171.            
  172.  
  173.  
  174.  
  175.  
  176.  
  177.            return 0;
  178.         }
Add Comment
Please, Sign In to add comment