| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 246 | 61 | 44 | 20.370% |
이 문제는 shapez와 만들어야 하는 도형의 조건만 다른 하위 문제이고, shapez의 정답 코드를 제출해 이 문제를 맞힐 수 있다.
shapey는 각 사분면에 원형, 사각형, 풍차, 별 모양이 배치된 도형들을 자르고, 합치고, 색칠하여 복잡하고 다채로운 도형들을 만들어내는 것이 목표인 게임이다.
주어진 도형들을 조작해 최종적으로 만들어야 하는 도형을 만드는 프로그램을 작성해 보자.
shapey에서는 도형을 쉽게 나타내기 위해 도형 코드를 사용한다. 다음은 도형 코드에 대한 설명이다.
CRWSrgbypcuw--'으로 나타낸다.:'로 구분하여 나타낸다.| 도형 | 도형 코드 |
|---|---|
CuCuCuCu |
|
SrSrSrSr:CyCyCyCy |
|
CcSyCcSy:SyCcSyCc:CcSyCcSy |
|
CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy |
도형을 조작하는 여러 가지 기계로 더욱 복잡한 도형을 만들 수 있다. 다음은 도형 조작을 위한 기계들에 대한 설명이다.
--------'이 되는 경우에는 그 층이 사라지고 그 층보다 높은 층들을 한 층씩 내린다.다음은 기계의 작동 예시이다.
| 절단기 | ||
|---|---|---|
| 입력 | 서쪽 절반 출력 | 동쪽 절반 출력 |
CrRwWu-- |
----Wu-- |
CrRw---- |
CuCu----:--RuRu--:Wu------ |
----Ru-- |
CuCu----:--Ru----:Wu------ |
--Rc----:Sw------ |
생성되지 않음 | --Rc----:Sw------ |
| 회전기 | ||
|---|---|---|
| 입력 | 회전 각도 | 출력 |
CrRwWu-- |
90도 | --CrRwWu |
CuCu----:--RuRu--:Wu------ |
180도 | ----CuCu:Ru----Ru:----Wu-- |
CuCu----:--RuRu--:Wu------ |
270도 | Cu----Cu:RuRu----:------Wu |
| 결합기 | ||
|---|---|---|
| 첫 번째 입력 | 두 번째 입력 | 출력 |
CuCu---- |
----RuRu |
CuCuRuRu |
CuCu---- |
--RuRu-- |
CuCu----:--RuRu-- |
Ru----Ru:Ru----Ru:RuRuRuRu |
--CuCu--:--CuCu-- |
Ru----Ru:Ru----Ru:RuRuRuRu:--CuCu-- |
RuRuRuRu:RuRuRuRu:RuRu----:RuRu---- |
----CuCu:CuCuCuCu:CuCuCuCu |
RuRuRuRu:RuRuRuRu:RuRu----:RuRuCuCu |
| 색칠기 | ||
|---|---|---|
| 입력 | 색상 | 출력 |
CrRwWu-- |
c |
CcRcWc-- |
CuCw----:--RyRg--:Wb------ |
b |
CbCb----:--RbRb--:Wb------ |
도형 조작을 위해 레지스터를 사용한다. 다음은 레지스터에 대한 설명이다.
첫 번째 줄에 주어지는 도형의 개수 $N$(1ドル \le N \le 10$)이 주어진다.
다음 $N$개의 줄에 처음 주어지는 도형의 코드가 순서대로 주어진다. 주어지는 도형들은 모두 1층만 있다.
다음 줄에 만들어야 하는 도형의 코드가 주어진다. 만들어야 하는 도형은 4층까지 있을 수 있다. 1층과 2층, 2층과 3층, 3층과 4층을 인접하다고 할 때, 최고 층 이하의 인접한 두 층의 적어도 한 사분면은 두 층 모두 기본 도형이 존재한다.
올바른 도형 코드만 입력으로 주어진다.
첫째 줄에 사용할 조작의 개수 $M$(1ドル \le M \le 10,000円$)을 출력한다. 다음 $M$개의 줄에 적용할 조작을 다음과 같은 형식으로 순서대로 한 줄에 하나씩 출력한다. 모든 레지스터 번호는 1ドル$ 이상 100ドル$ 이하의 정수여야 한다.
r', 'g', 'b', 'y', 'p', 'c', 'w'})
출력한 조작들을 전부 완료한 후에 $R_{100}$에 만들어야 하는 도형이 저장되어 있어야 한다. 만약 가능한 방법이 여러 가지인 경우 그중 아무거나 출력한다. 주어진 도형들을 조작하여 만들어야 하는 도형을 만들 수 없는 경우 -1을 출력한다.
1 CuRuWuSu CuCuCuCu
7 1 1 2 3 2 3 4 1 1 4 5 6 2 6 7 3 3 6 7 8 2 8 9 2 3 8 9 100
2 CrCgCbCy RpRcRuRw SrSrSrSr:CyCyCyCy
-1
4 --Cr---- Rw------ ----Su-- ------Ww CcSyCcSy:SyCcSyCc:CcSyCcSy
8 4 1 2 c 4 3 4 y 3 2 4 5 2 5 6 2 3 5 6 7 2 7 8 1 3 8 7 9 3 9 8 100
3 CcRcCcRc Sr--Sw-- CyCyCyCy CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy
5 2 1 4 1 4 4 4 w 3 1 4 100 3 100 2 100 3 100 3 100
Contest > BOJ User Contest > 유틸컵 > 제2회 유틸컵 🏭🔺번