아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

덧셈 게임

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

요약
1부터 n까지의 순열 두 개를 더해 n으로 나눈 나머지로 주어진 수열을 만들 수 있는지 판정합니다.
난이도

보통10점 중 7점

유형
수학, 조합론
정답자
아직 제출이 없습니다

문제

앨런은 컴퓨터 보안 회사에서 일한다. 그가 만든 공개키 암호에서 개인키는 {1,…,n}\{1, \dots, n\}의 순열 π\pi와 σ\sigma 두 개다. 공개키 (a1,…,an)(a_1, \dots, a_n)은 1≤i≤n1 \le i \le n에 대해 ai≡πi+σi(modn)a_i \equiv \pi_i + \sigma_i \pmod n으로 정해진다. x≡y(modn)x \equiv y \pmod n은 xx와 yy를 nn으로 나눈 나머지가 같다는 뜻이다.

n=5n = 5이고

  • π=(3,1,5,2,4)\pi = (3, 1, 5, 2, 4),
  • σ=(5,1,3,4,2)\sigma = (5, 1, 3, 4, 2)

인 경우를 보자. 공개키는 a=(3,2,3,1,1)a = (3, 2, 3, 1, 1)이 된다. 예를 들어 a5≡1≡4+2≡π5+σ5(mod5)a_5 \equiv 1 \equiv 4 + 2 \equiv \pi_5 + \sigma_5 \pmod 5이고, π\pi와 σ\sigma에는 11부터 55까지가 각각 정확히 한 번씩 들어 있다.

동료들은 이 암호가 안전한지 의심한다. 공개키에 맞는 개인키를 하나라도 찾으면 암호가 뚫리기 때문이다. nn과 수열 a=(a1,…,an)a = (a_1, \dots, a_n)이 주어질 때, 모든 ii에 대해 πi+σi≡ai(modn)\pi_i + \sigma_i \equiv a_i \pmod n을 만족하는 {1,…,n}\{1, \dots, n\}의 순열 π\pi와 σ\sigma가 존재하는지 판정하라.

입력

첫째 줄에 수열의 길이 nn이 주어진다 (1≤n≤10001 \le n \le 1000).

둘째 줄에 정수 a1,…,ana_1, \dots, a_n이 주어진다 (1≤ai≤n1 \le a_i \le n).

출력

조건을 만족하는 순열 π\pi와 σ\sigma가 존재하면 possible을, 존재하지 않으면 impossible을 출력한다.

예제4

  1. 예제 1

    입력
    5
    3 2 3 1 1
    
    예상 출력
    possible
    
  2. 예제 2

    입력
    4
    3 1 1 4
    
    예상 출력
    impossible
    
  3. 예제 3

    입력
    1
    1
    
    예상 출력
    possible
    
  4. 예제 4

    입력
    2
    1 2
    
    예상 출력
    impossible