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

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

저녁 식사

시간 제한2초메모리 제한512 MB

요약
나이들이 주어질 때, 모든 사람을 3명 이상인 원탁들로 나누어 이웃한 두 사람의 나이 합이 항상 소수가 되도록 배치할 수 있는지 판정한다.
난이도

어려움10점 중 9점

유형
그래프, 수학, 정수론, 구현
정답자
아직 제출이 없습니다

문제

성관이는 소수 왕국에서 열리는 비밀 파티에 초대받았다. 파티에는 성관이를 포함해 모두 nn명이 왔고, ii번째 사람의 나이는 aia_i이다.

사람들은 원형 테이블 여러 개에 나누어 앉아 식사하려고 한다. 자리 배치는 다음 조건을 모두 만족해야 한다.

  • 모든 사람은 정확히 한 테이블에 앉는다.
  • 한 테이블에는 적어도 3명이 앉는다.
  • 한 테이블에서 이웃한 두 사람의 나이의 합은 소수여야 한다. 즉, 어떤 테이블에 x1,x2,…,xkx_1, x_2, \dots, x_k번째 사람이 이 순서대로 둘러앉았다면 ax1+ax2a_{x_1} + a_{x_2}, ax2+ax3a_{x_2} + a_{x_3}, …\dots, axk+ax1a_{x_k} + a_{x_1}이 모두 소수여야 한다.

조건을 만족하는 자리 배치가 존재하는지 판정하시오.

입력

첫째 줄에 사람 수 nn이 주어진다. (1≤n≤2001 \le n \le 200)

둘째 줄에 각 사람의 나이 a1,a2,…,ana_1, a_2, \dots, a_n이 공백으로 구분되어 주어진다. (2≤ai≤1042 \le a_i \le 10^4)

출력

조건을 만족하는 자리 배치가 존재하면 Possible을, 존재하지 않으면 Impossible을 한 줄에 출력한다.

힌트

첫 번째 예제는 3, 8, 9, 4 순서로 모두 한 테이블에 둘러앉히면 된다.

두 번째 예제는 2+2=42 + 2 = 4가 소수가 아니므로 불가능하다.

세 번째 예제는 2, 3, 4, 7, 6, 13, 10, 9, 8, 11, 12, 5 순서로 모두 한 테이블에 둘러앉히면 된다.

네 번째 예제는 테이블 세 개를 다음과 같이 쓰면 된다.

  1. 2, 3, 4, 7, 6, 5
  2. 8, 9, 10, 13, 16, 15, 14, 17, 12, 11
  3. 18, 19, 24, 23, 20, 21, 22, 25

예제4

  1. 예제 1

    입력
    4
    3 4 8 9
    
    예상 출력
    Possible
    
  2. 예제 2

    입력
    5
    2 2 2 2 2
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    12
    2 3 4 5 6 7 8 9 10 11 12 13
    
    예상 출력
    Possible
    
  4. 예제 4

    입력
    24
    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    
    예상 출력
    Possible