제출 #85932

#제출 시각아이디문제언어결과실행 시간메모리
85932shoemakerjoAliens (IOI07_aliens)C++14
0 / 100
3 ms508 KiB
#include <bits/stdc++.h> using namespace std; #define x0 xxxxxx #define y0 yyyyyy int N, x0, y0; bool isin(int xx, int yy) { if (0 >= xx || xx > N) return false; if (yy <= 0 || yy > N) return false; cout << "examine " << xx << " " << yy << endl; string ans; cin >> ans; return ans == "true"; } int main() { cin >> N >> x0 >> y0; //do left and right //need to find last guy that is a hit or something //can binary search to the edge of this int nx, ny, lx, ly; //next x, next y, last x, last y int lo = x0; int hi = N; while (lo < hi) { int mid = (lo+hi+1)/2; if (isin(mid, y0)) { lo = mid; } else { hi = mid-1; } } nx = lo; hi = x0; lo = 1; while (lo < hi) { int mid = (lo+hi)/2; if (isin(mid, y0)) { hi = mid; } else { lo = mid+1; } } lx = lo; lo = y0; hi = N; while (lo < hi) { int mid = (lo+hi+1)/2; if (isin(x0, mid)) { lo = mid; } else { hi = mid-1; } } ny = lo; hi = y0; lo = 1; while (lo < hi) { int mid = (lo+hi)/2; if (isin(x0, mid)) { hi = mid; } else { lo = mid+1; } } //now we have all the guys int xans, yans; int mcur = (lx+nx)/2; if (!isin(mcur, y0)) { int m = (nx-lx+1)/3; while (isin(nx + m*2, y0)) { nx += m*2; } while (isin(lx - m*2, y0)) { lx -= m*2; } } else { int m = (nx-lx+1); while (isin(nx + m*2, y0)) { nx += m*2; } while (isin(lx - m*2, y0)) { lx -= m*2; } } xans = (nx + lx)/2; mcur = (ly + ny)/2; if (!isin(x0, mcur)) { int m = (ny - ly + 1)/3; while (isin(x0, ny+m*2)) { ny += m*2; } while (isin(x0, ly - m*2)) { ly -= m*2; } } else { int m = (ny - ly + 1); while (isin(x0, ny+m*2)) { ny += m*2; } while (isin(x0, ly - m*2)) { ly -= m*2; } } yans = (ly + ny)/2; cout << "solution " << xans << " " << yans << endl; }

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

aliens.cpp: In function 'int main()':
aliens.cpp:111:13: warning: 'ly' is used uninitialized in this function [-Wuninitialized]
  mcur = (ly + ny)/2;
         ~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...