교묘한 수

시간 제한1초메모리 제한128 MB

요약
순환 합성곱으로 정의된 곱셈에서 원소가 {0,1,2}로 제한된 역원 배열이 모듈로 Q 상에서 존재하는지 판별하는 문제입니다.
난이도

보통10점 중 6점

유형
수학, 완전 탐색, 정수론
정답자
아직 제출이 없습니다

문제

교묘한 수(sly number)는 각 원소가 {0,1,2}\{0, 1, 2\} 에 속하는 정수 NN개로 이루어진 배열 AA이다. 예를 들어 A=(1,1,0,2)A = (1, 1, 0, 2)는 A[0]=1A[0] = 1, A[1]=1A[1] = 1, A[2]=0A[2] = 0, A[3]=2A[3] = 2인 교묘한 수이다.

교묘한 수가 A[0]=1A[0] = 1이고 모든 i=1,2,…,N−1i = 1, 2, \dots, N-1에 대해 A[i]=0A[i] = 0이면, 이 수를 ONEONE이라고 부른다.

두 교묘한 수 AA와 BB에 대해, 별 곱(Star Multiplication) A⋆BA \star B는 길이가 NN인 배열 CC를 다음과 같이 만든다.

C[k]=∑i=0kA[i]⋅B[k−i]  +  ∑i=k+1N−1A[i]⋅B[N+k−i]C[k] = \sum_{i=0}^{k} A[i]\cdot B[k-i] \;+\; \sum_{i=k+1}^{N-1} A[i]\cdot B[N+k-i]

결과 CC 역시 길이가 NN인 배열이지만 교묘한 수가 아닐 수도 있다(원소가 22보다 클 수 있다). 결과는 양의 정수 QQ로 원소별로 나눈 나머지를 취한다.

(C mod Q)[i]=C[i] mod Q(C \bmod Q)[i] = C[i] \bmod Q

교묘한 수 AA와 나머지 연산의 법 QQ가 주어졌을 때, 다음을 만족하는 역 교묘한 수 BB, 즉 원소가 다시 {0,1,2}\{0, 1, 2\} 에 속하는 교묘한 수 BB를 찾고자 한다.

(A⋆B) mod Q=ONE(A \star B) \bmod Q = ONE

주어진 각 AA와 QQ에 대해, 이러한 역 교묘한 수 BB가 존재하는지만 판정하면 된다.

입력

첫째 줄에 테스트 케이스의 개수 KK가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 공백으로 구분된 두 정수 QQ (2≤Q≤1002 \le Q \le 100)와 NN (5≤N≤505 \le N \le 50)이 주어진다. 둘째 줄에는 교묘한 수 AA를 이루는 NN개의 정수가 공백으로 구분되어 주어지며, 각 원소는 {0,1,2}\{0, 1, 2\} 에 속한다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. 역 교묘한 수가 존재하면 A solution can be found을, 그렇지 않으면 No solution을 출력한다.

힌트

Q=2Q = 2, N=5N = 5, A=(1,0,1,0,1)A = (1, 0, 1, 0, 1)인 경우, 가능한 역 교묘한 수 중 하나는 B=(0,0,1,1,1)B = (0, 0, 1, 1, 1)이다.

예제2

  1. 예제 1

    입력
    2
    2 5
    1 0 1 0 1
    65 8
    1 2 2 2 1 1 2 2
    
    예상 출력
    A solution can be found
    No solution
    
  2. 예제 2

    입력
    2
    2 5
    1 0 1 0 1
    5 5
    1 0 1 0 1
    
    예상 출력
    A solution can be found
    No solution