답안 #226479

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
226479 2020-04-23T23:15:26 Z Kenzo_1114 Aliens (IOI07_aliens) C++14
100 / 100
7 ms 384 KB
#include<bits/stdc++.h>
using namespace std;

long long int n, xo, yo;
char ASK[10];

bool ask(long long int x, long long int y)
{
	printf("examine %lld %lld\n", x, y);
	fflush(stdout);
	scanf(" %s", ASK);
	if(ASK[0] == 't')		return true;
	else					return false;
}

void bb(int dx, int dy)
{
	long long int bg = 0, ed = n;
	while(bg < ed)
	{
		long long int mid = (bg == ed - 1) ? ed : (bg + ed) >> 1;	

		long long int nx = xo + dx * mid, ny = yo + dy * mid;
		if(1 > nx || nx > n || 1 > ny || ny > n)	ed = mid - 1;
		else if(ask(nx, ny))	bg = mid;
		else					ed = mid - 1; 
	}

	xo += dx * bg, yo += dy * bg; 
}

int main ()
{
	scanf("%lld %lld %lld", &n, &xo, &yo);

	bb(1, 0);
	bb(0, 1);
	bb(1, 1);
	long long int x = xo, y = yo;
	bb(-1, -1);
	xo = x, y = yo;
	bb(-1, 1);
	x = xo, y = yo;
	bb(1, -1);

	printf("solution %lld %lld\n", (x + xo) / 2, (y + yo) / 2);
	fflush(stdout);
}

Compilation message

aliens.cpp: In function 'bool ask(long long int, long long int)':
aliens.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf(" %s", ASK);
  ~~~~~^~~~~~~~~~~~
aliens.cpp: In function 'int main()':
aliens.cpp:34:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld %lld", &n, &xo, &yo);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
3 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 256 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
3 Correct 7 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 384 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
3 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 6 ms 384 KB Output is correct
3 Correct 6 ms 256 KB Output is correct