넘치게 채우기
[Codeforces Round 981(Div. 3)] A. Sakurako and Kosuke 본문
[Codeforces Round 981(Div. 3)] A. Sakurako and Kosuke
riveroverflow 2024. 10. 26. 16:39https://codeforces.com/contest/2033/problem/A
Codeforces Round 981(DIv.3) - A. Sakurako and Kosuke
문제 유형: 수학, 구현
시간 제한: 1초
메모리 제한: 256MB
문제
Sakurako and Kosuke decided to play some games with a dot on a coordinate line. The dot is currently located in position x=0. They will be taking turns, and Sakurako will be the one to start.
On the i-th move, the current player will move the dot in some direction by 2⋅i−1 units. Sakurako will always be moving the dot in the negative direction, whereas Kosuke will always move it in the positive direction.
In other words, the following will happen:
- Sakurako will change the position of the dot by −1 , x=−1 now.
- now Kosuke will change the position of the dot by 3, x=2 now.
- nowSakurako will change the position of the dot by −5, x=−3 now
They will keep on playing while the absolute value of the coordinate of the dot does not exceed n
. More formally, the game continues while −n≤x≤n
. It can be proven that the game will always end.
Your task is to determine who will be the one who makes the last turn.
Sakurako와 Kosuke는 한 선분 위에 있는 점을 가지고 게임을 하려 합니다.
x=0에서 점은 시작합니다. 번갈아서 턴을 보내며 진행하고, Sakurako부터 시작합니다.
i번째 움직임에서, 각자는 2 * i -1만큼 점을 움직입니다. Sakurako는 음의 방향, Kosuke는 양의 방향으로 움직입니다.
-n ~ n의 범위를 벗어나게 하면, 게임을 그만합니다.
마지막으로 점을 움직인 사람을 구하시오.
입력
첫 번째 줄에는 테스트 케이스 t(1 <= t <= 100)이 주어집니다.
각 테스트 케이스의 첫 번째 줄에는 n(1 <= n <= 100)이 주어집니다.
출력
각 테스트 케이스마다, 게임의 결과를 출력하시오.
풀이
단순히 보면, 각 플레이어의 턴에, 절댓값이 1씩 늘어난다.
즉, 양쪽 합쳐서 n번째 차례에 마지막 움직임을 가진다.
n번째에 Sakurako가 움직였다면, Kosuke가 정답이 되겠고, Kosuke가 움직였다면 Sakurako가 정답이 되겠다.
즉, n%2가 홀수면 Kosuke, n%2가 짝수면 Sakurako가 정답이 된다.
코드
C++
#include <bits/stdc++.h>
using namespace std;
int main(int argc, char *argv[]) {
int t;
cin >> t;
int turn;
while (t-- > 0) {
cin >> turn;
string res = ((turn % 2) == 1) ? "Kosuke\n" : "Sakurako\n";
cout << res;
}
return 0;
}
'PS > Codeforces' 카테고리의 다른 글
[Codeforces Round 981(Div.3)] - C. Sakurako's Field Trip (0) | 2024.10.28 |
---|---|
[Codeforces Round 981(Div.3)] B. Sakurako and Water (0) | 2024.10.27 |
[Codeforces Round 973(Div. 2)] D. Minimize the Difference (0) | 2024.10.01 |
[Codeforces Round 973(Div. 2)] C. Password Cracking (0) | 2024.09.28 |
[Codeforces Round 973(Div. 2)] B. Battle for Survive (0) | 2024.09.26 |