Logo
(追記) (追記ここまで)

34964번 - Bloom in Two 서브태스크스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB3244100.000%

문제

정원사인 당신은 두 방향으로 피는 새로운 꽃 품종을 개발하여 이를 여러분의 정원에 전시하고자 한다. 정원은 $N\times N$ 크기의 격자로 볼 수 있으며, 왼쪽 밑 칸이 $(1,1),ドル 오른쪽 밑 칸이 $(N, 1),ドル 오른쪽 위 칸이 $(N,N)$에 위치해 있다.

당신이 개발한 꽃은 상하좌우 네 방향 중에서, 서로 직각을 이루는 두 방향으로 피어난다.

정원에는 $N$개의 화분이 서로 다른 $N$개의 칸에 위치해 있으며, 모든 행과 열에는 정확히 하나의 화분이 존재한다. 당신은 $N$개의 화분 위에 꽃을 적당한 방향으로 심어 조화로운 정원을 만들고자 한다. 다음 조건을 만족하는 정원을 조화로운 정원이라고 한다.

  • 화분이 놓이지 않은 임의의 칸 $(i,j)$에 대해 이 위치에서 상, 하, 좌, 우로 보았을 때 이 위치를 바라보는 꽃이 적어도 하나 존재해야 한다.

예를 들어, 왼쪽 그림과 같은 배치에서는 꽃이 모든 칸을 바라보고 있기 때문에 조화롭지만, 오른쪽 그림과 같은 배치에서는 $(3,3)$의 칸을 바라보고 있는 꽃이 없기 때문에 조화롭지 않다.

조화로운 정원을 이룰 수 있도록 꽃의 방향을 정하여라.

입력

첫째 줄에 정원의 크기 $N$이 주어진다.

둘째 줄에 $N$개의 정수 $P_i$가 공백으로 구분되어 주어진다. 이는 $i$번째 화분이 $(i,P_i)$에 있음을 나타낸다.

출력

정원을 조화롭게 만들 수 있으면 첫째 줄에 YES를 출력하고, 아니면 NO를 출력한다.

정원을 조화롭게 만들 수 있는 경우 이어서 둘째 줄에 길이 $N$의 문자열 $S$를 출력한다. $S$의 $i$번째 문자는 다음과 같이 Q, E, Z, C 중 하나로, $i$번째 화분에 심을 꽃의 방향을 의미해야 한다.

제한

  • 2ドル\le N\le 1,円 000,円 000$
  • 1ドル\le P_i\le N$
  • 1ドル\le i<j\le N$이면 $P_i\neq P_j$

서브태스크

번호배점제한
110

$P_i = i$ (1ドル \le i \le N$)

228

EC만을 사용하여 조화로운 정원을 이룰 수 있음이 보장된다.

330

$N \le 2,000円$

425

$N \le 100,000円$

57

추가 제한 조건이 없습니다.

예제 입력 1

4
1 2 3 4

예제 출력 1

YES
EEEE

예제 입력 2

10
10 9 8 4 6 1 3 5 2 7

예제 출력 2

YES
CCCCZEEQQZ

예제 입력 3

5
2 1 3 5 4

예제 출력 3

NO

노트

◇◇◇비◇비◇드◇/だいやまーくだいやまーくだいやまーくだいやまーくだいやまーくだいやまーくだいやまーくだいやまーく
★지★금★무★료★플★레★이★
https://store.steampowered.com/app/2093940

출처

School > 서울과학고등학교 > SciOI 2025 K번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /