제출 #625364

#제출 시각아이디문제언어결과실행 시간메모리
625364StavabAliens (IOI07_aliens)C++14
컴파일 에러
0 ms0 KiB
#include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, x0, y0; cin >> n >> x0 >> y0; int t = 1; while(1) { if(x0 - t > 0) cout << "examine " << x0 - t << " " << y0; else break; string s; cin >> s; if(s == "true") t *= 2; else break; } int low = max(x0 - t, 0); int high = x0; while(high - low > 2) { int middle = (low + high) / 2; cout << "examine " << middle << " " << y0; string s; cin >> s; if(s == "true") high = middle; else low = middle; } int xL = high; t = 1; while(1) { if(x0 + t <= n) cout << "examine " << x0 + t << " " << y0; else break; string s; cin >> s; if(s == "true") t *= 2; else break; } int low = x0; int high = min(x0 + t, n + 1); while(high - low > 2) { int middle = (low + high) / 2; cout << "examine " << middle << " " << y0 << endl; string s; cin >> s; if(s == "true") low = middle; else high = middle; } int xR = low; int m = xR - xL + 1; t = 1; while(1) { if(y0 + t <= n) cout << "examine " << x0 << " " << y0 + t << endl; else break; string s; cin >> s; if(s == "true") t *= 2; else break; } int low = y0; int high = min(y0 + t, n + 1); while(high - low > 2) { int middle = (low + high) / 2; cout << "examine " << x0 << " " << middle << endl; string s; cin >> s; if(s == "true") low = middle; else high = middle; } int yU = low; int yD = yU - m + 1; int middleX = (xR + xL) / 2; int middleY = (yU + yD) / 2; int cornerX = middleX; string s; while(1) { if(cornerX + 2*m < n) cout << "examine " << cornerX + 2*m << " " << middleY << endl; else break; cin >> s; if(s == "true") cornerX += 2*m; else break; } int cornerY = middleY; while(1) { if(cornerY + 2*m < n) cout << "examine " << middleX << " " << cornerY + 2*m << endl; else break; cin >> s; if(s == "true") cornerY += 2*m; else break; } cout << "solution " << cornerX - 2*m - m/2 << " " << cornerY - 2*m - m/2 << endl; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

aliens.cpp: In function 'int main()':
aliens.cpp:64:9: error: redeclaration of 'int low'
   64 |     int low = x0;
      |         ^~~
aliens.cpp:30:9: note: 'int low' previously declared here
   30 |     int low = max(x0 - t, 0);
      |         ^~~
aliens.cpp:65:9: error: redeclaration of 'int high'
   65 |     int high = min(x0 + t, n + 1);
      |         ^~~~
aliens.cpp:31:9: note: 'int high' previously declared here
   31 |     int high = x0;
      |         ^~~~
aliens.cpp:100:9: error: redeclaration of 'int low'
  100 |     int low = y0;
      |         ^~~
aliens.cpp:30:9: note: 'int low' previously declared here
   30 |     int low = max(x0 - t, 0);
      |         ^~~
aliens.cpp:101:9: error: redeclaration of 'int high'
  101 |     int high = min(y0 + t, n + 1);
      |         ^~~~
aliens.cpp:31:9: note: 'int high' previously declared here
   31 |     int high = x0;
      |         ^~~~