ps:problems:boj:22151
Игра
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 22151 |
문제명 | Игра |
레벨 | 브론즈 1 |
시간복잡도 | O(t) |
인풋사이즈 | t<=100 |
사용한 언어 | Python 3.11 |
제출기록 | 31256KB / 40ms |
최고기록 | 36ms |
해결날짜 | 2023/06/27 |
풀이
- 질문게시판에 문제의 번역 이 올라와있다.
- 만약 목적지와 가까워지는 방향으로만 이동이 가능하다면, 배스킨라빈스 게임과 동일해지고 쉽게 누가 승리할지를 알수 있다.
- 하지만, 여기에서는 목적지와 멀어지는 방향으로도 이동이 가능하다. 아무 플레이어나 자신이 질것 같으면 목적지와 반대쪽으로 이동하는 것을 반복하면 상대는 승리할 수가 없고 비기게 된다
- 결국 선공이 첫턴에 승리하는것에 실패하면, 그 뒤에 둘중에 패배할것 같은 사람은 비기기 전략을 사용해서 비기게 될것이므로, 가능한 결과는 선공의 1턴 승리 또는 비기기, 이렇게 두개밖에 없다.
코드
"""Solution code for "BOJ 22151. Игра".
- Problem link: https://www.acmicpc.net/problem/22151
- Solution link: http://www.teferi.net/ps/problems/boj/22151
"""
def main():
n = int(input())
for _ in range(n):
m, xs, ys, xf, yf = [int(x) for x in input().split()]
if abs(xs - xf) + abs(ys - yf) <= m:
print('First 1')
else:
print('Infinity')
if __name__ == '__main__':
main()
ps/problems/boj/22151.txt · 마지막으로 수정됨: 2023/06/27 15:17 저자 teferi
토론