코드 포스(Code Force) 1075 - A. The King's Race
알고리즘 대회2018. 11. 11. 23:40
728x90
반응형
문제 유형: 구현
문제 URL: https://codeforces.com/contest/1075/problem/A
N x N의 체스 판이 있을 때 (1, 1)에 '화이트 킹'이 있고, (N, N)에 '블랙 킹'이 있습니다. 각 킹은 인접한 8가지 방향의 셀 중 한 곳으로 이동할 수 있습니다. 대각선도 포함해 이동할 수 있는 것입니다. 이 때 (X, Y)의 위치에 화이트 킹과 블랙 킹 중에서 누가 더 먼저 도착할 수 있는지를 구하면 되는 문제입니다. 다만 화이트 킹이 먼저 이동하며 시작과 동시에 킹의 위치와 (X, Y)가 동일하다면 그 즉시 종료됩니다.
이 문제는 매우 간단한 문제입니다. (1, 1)에 화이트 킹이 있으며 (N, N)에 블랙 킹이 있으므로, 두 위치에서 (X, Y) 까지의 이동 횟수를 구하면 됩니다. 횟수를 구할 때는 각 킹들이 대각선 방향으로도 이동할 수 있다는 점에서 '가로 길이와 세로 길이 중에서 더 긴 것'을 구하면 됩니다.
이동 횟수: 가로 길이와 세로 길이 중에서 더 긴 것
결과적으로 이동 횟수를 비교하여 정답을 출력하면 됩니다.
※ 입출력 예시 ※
input
Copy
4
2 3
output
Copy
White
input
Copy
5
3 5
output
Copy
Black
input
Copy
2
2 2
output
Copy
Black
※ 정답 소스코드 ※
(컴파일 환경: GNU G++11 5.1.0)
#include <iostream>
#include <stdio.h>
using namespace std;
int main(void) {
long long int n;
cin >> n;
long long int x, y;
cin >> x >> y;
long long int black = max(n - x, n - y);
long long int white = max(x - 1, y - 1);
if(black == 0) {
cout << "Black";
}
else if(white == 0) {
cout << "White";
}
else if(white <= black) {
cout << "White";
}
else {
cout << "Black";
}
return 0;
}
728x90
반응형
'알고리즘 대회' 카테고리의 다른 글
코드 포스(Code Force) 915 - C. Permute Digits (0) | 2018.11.12 |
---|---|
코드 포스(Code Force) 1075 - B. Taxi drivers and Lyft (0) | 2018.11.12 |
코드 포스(Code Force) 915 - B. Browser (0) | 2018.11.11 |
코드 포스(Code Force) 915 - A. Garden (0) | 2018.11.11 |
코드 포스(Code Force) 390 - A. Inna and Alarm Clock (0) | 2018.11.05 |