두 토큰이 원형으로 배열된 사람들 사이를 좌우로 정확히 D칸씩 움직일 때, 한 토큰이 다른 토큰을 가리켜 게임이 끝나는 최소 이동 횟수를 구한다.
보통5BFS그래프수학구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB은하는 술과 게임과 술 게임을 좋아한다. 그중에서도 가장 좋아하는 술 게임이 "홍삼 게임"이다. N명이 테이블에 원형으로 둘러앉아서 하고, 규칙은 다음과 같다.
대회가 끝난 뒤 참가자들은 근처 술집으로 뒤풀이를 하러 갔고, 은하의 주도로 홍삼 게임을 하게 되었다. 그런데 사람이 너무 많이 모인 탓에 누가 누구를 지목하는지 잘 보이지 않아 게임이 수시로 중단되었다. 이 상황을 보다 못한 은하의 친구 은서가 규칙을 고친 "질서 있는 홍삼 게임"을 제안했다. 이 게임의 규칙은 다음과 같다.
은서의 제안 덕분에 참가자들은 질서 있게 홍삼 게임을 즐기게 되었다. 하지만 은하가 몇 시간 내내 게임을 돌리자 참가자들은 지쳐 갔고, 은하가 누구를 지목하든 지목 간격을 어떻게 정하든 게임을 최대한 빨리 끝내려 하게 되었다. 불쌍한 뒤풀이 참가자들을 홍삼 지옥에서 구해 주자.
참가자에게는 1번부터 N번까지 반시계방향으로 번호가 붙어 있다. 즉 i번 참가자의 바로 왼쪽에 i−1번, 바로 오른쪽에 i+1번 참가자가 앉아 있다. 예외로 1번 참가자의 바로 왼쪽에는 N번 참가자가, N번 참가자의 바로 오른쪽에는 1번 참가자가 앉아 있다.
첫째 줄에 질서 있는 홍삼 게임의 참가자 수 N (2≤N≤500), 은하가 먼저 지목한 사람의 번호 A와 두 번째로 지목한 사람의 번호 B (1≤A,B≤N, A=B), 각 지목권의 지목 간격을 나타내는 정수 DA, DB (1≤DA,DB≤N−1)가 공백을 사이에 두고 순서대로 주어진다.
첫째 줄에 입력된 게임을 최대한 빨리 끝내고자 할 때 필요한 최소 지목 횟수를 출력한다. 은하가 처음에 두 사람을 지목한 것은 횟수에 넣지 않는다. 끝낼 수 없는 게임이면 Evil Galazy를 출력한다.
N=6, A=5, B=1, DA=1, DB=2인 게임은 다음 순서로 진행하면 세 번의 지목으로 끝난다.