시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 44 | 10 | 9 | 42.857% |
현수는 새로운 게임을 만들고 있다. 이 게임은 어드벤쳐 게임으로 해적과 원숭이가 등장한다. 게임을 해본 사람들의 말에 의하면 엄청나게 재밌다고 한다.
이 게임은 다양한 랜덤 요소를 포함하고 있다. 따라서, 현수는 랜덤 함수 생성기를 이용하려고 한다. 랜덤 함수 생성기는 줄여서 RNG라고 쓴다.
각 RNG는 다음과 같은 식을 사용한다. x가 이전 랜덤 숫자 일때, y는 아래 식으로 구할 수 있다.
y = ax2 + bx + c (mod 2n)
a, b, c, n은 정수이다.
현수는 게임을 테스트 하기 위하고 있다. 현수는 게임을 중단시키고 디버그 콘솔을 볼 수 있다. 디버그 콘솔에는 현재 생성된 랜덤 숫자 하나가 나타나 있다. 하지만, 현수는 프로그램을 역추적해 그 전의 랜덤 숫자를 알아내려고 한다.
현재 랜덤 숫자(y)의 값과 a, b, c, n이 주어졌을 때, 이전 랜덤 숫자(x)를 구하는 프로그램을 작성하시오.
입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 다음과 같은 형식이다.
각 테스트 케이스에 대해서, 이전 랜덤 숫자 x를 출력한다. (0 ≤ x < 2n) 만약, 가능한 x가 없거나, 두 개 이상 존재한다면 "No unique solution"을 출력한다.
4 26 2 1 5 5 10 1 0 0 4 1 1 1 1 4 3 14 15 92 7
3 No unique solution No unique solution 55
ICPC > Regionals > Europe > Northwestern European Regional Contest > Benelux Algorithm Programming Contest > BAPC 2011 Preliminaries B번