Submission #1151537

#TimeUsernameProblemLanguageResultExecution timeMemory
1151537siewjhAliens (IOI07_aliens)C++20
40 / 100
1 ms416 KiB
#include <bits/stdc++.h>
using namespace std;
int N;
bool query(int x, int y){
	if (!(1 <= x && x <= N && 1 <= y && y <= N)) return 0;
	cout << "examine " << x << ' ' << y << endl;
	string res; cin >> res;
	return res == "true";
}
int main(){
	int xi, yi; cin >> N >> xi >> yi;
	int l = 0, r = 0, u = 0, d = 0, l2 = 0, r2 = 0, u2 = 0, d2 = 0;
	while (query(xi - l - 1, yi)) l++;
	while (query(xi + r + 1, yi)) r++;
	while (query(xi, yi - u - 1)) u++;
	while (query(xi, yi + d + 1)) d++;
	int sz = l + r + 1;
	while (query(xi - (l2 + 2) * sz, yi)) l2 += 2;
	while (query(xi + (r2 + 2) * sz, yi)) r2 += 2;
	while (query(xi, yi - (u2 + 2) * sz)) u2 += 2;
	while (query(xi, yi + (d2 + 2) * sz)) d2 += 2;
	if (l2 + r2 == 2){
		l2++; r2++;
	}
	if (u2 + d2 == 2){
		u2++; d2++;
	}
	int xf = xi + (sz / 2 - l) + (2 - l2) * sz, yf = yi + (sz / 2 - u) + (2 - u2) * sz;
	cout << "solution " << xf << ' ' << yf << endl;
}
#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...