만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Sakura Reflection

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

요약
N개의 축 각도 A_i가 주어질 때, 각 축에 한 번씩 반사해서 그림을 원래 상태로 되돌릴 수 있는지 판단하고, 가능하면 반사 순서를 출력합니다.
난이도

보통10점 중 6점

유형
기하, 동적 계획법
정답자
아직 제출이 없습니다

문제

Ryu☆ - Sakura Reflection의 앨범아트

Sakura Reflection은 Ryu☆가 작곡해 REFLEC BEAT에 수록한 곡이다. 제목처럼 이제 앨범아트를 Reflection해 보자. 앨범아트의 중심을 지나는 NN개의 축이 주어지며, ii번째 축이 수평선과 이루는 각도는 시계 반대 방향으로 Ai∘A_i^{\circ}이다. 각 축을 기준으로 앨범아트를 대칭이동할 수 있다. 앨범아트를 360∘360^{\circ}의 배수가 아닌 각도로 회전하거나, 특정한 축을 기준으로 한 번 대칭이동하는 것으로는 앨범아트가 원래 상태로 돌아오지 않는다는 점에 유의하여라.

Ryu☆는 NN개의 축을 각각 한 번씩 사용해 앨범아트를 NN번 대칭이동하려고 한다. 혹독한 대칭이동의 세계에서는 대칭이동하는 순서에 따라 결과가 달라질 수 있다. (a)는 60∘60^{\circ} 축으로 대칭이동한 뒤 120∘120^{\circ} 축으로 대칭이동한 그림이고, (b)는 120∘120^{\circ} 축으로 대칭이동한 뒤 60∘60^{\circ} 축으로 대칭이동한 그림이다.

두 가지 대칭이동 순서. 순서에 따라 결과가 다를 수 있다.

NN개의 축을 각각 정확히 한 번씩 사용해 대칭이동하여 앨범아트를 원래 상태로 만들 수 있는가? 가능하다면 그 순서를 하나 찾아라.

입력

첫째 줄에 축의 수 NN이 주어진다. (1≤N≤500)(1 \le N \le 500)

다음 줄에 축이 수평선과 이루는 각도 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백으로 구분되어 주어진다. (0≤Ai≤179)(0 \le A_i \le 179)

입력으로 주어지는 모든 수는 정수이다.

출력

첫째 줄에 주어진 축을 이용해 앨범아트를 원래 상태로 만들 수 있으면 YES, 없으면 NO를 출력한다.

만들 수 있다면 다음 줄에 대칭이동한 순서대로 축의 번호 i1,i2,⋯ ,iNi_1, i_2, \cdots, i_N을 공백으로 구분하여 출력한다. i1,i2,⋯ ,iNi_1, i_2, \cdots, i_N은 서로 다른 1 이상 NN 이하의 정수여야 하며, i1i_1번, i2i_2번, ..., iNi_N번 축을 차례로 사용해 대칭이동했을 때 앨범아트가 원래 상태가 되어야 한다.

예제2

  1. 예제 1

    입력
    4
    15 30 45 60
    
    예상 출력
    YES
    4 3 1 2
    
  2. 예제 2

    입력
    1
    90
    
    예상 출력
    NO