| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 78 | 12 | 9 | 12.676% |
이 문제는 shapey와 만들어야 하는 도형의 조건만 다른 상위 문제이고, shapey에 이 문제의 정답 코드를 제출해 맞힐 수 있다.
shapez는 각 사분면에 원형, 사각형, 풍차, 별 모양이 배치된 도형들을 자르고, 합치고, 색칠하여 복잡하고 다채로운 도형들을 만들어내는 것이 목표인 게임이다.
주어진 도형들을 조작해 최종적으로 만들어야 하는 도형을 만드는 프로그램을 작성해 보자.
shapez에서는 도형을 쉽게 나타내기 위해 도형 코드를 사용한다. 다음은 도형 코드에 대한 설명이다.
CRWSrgbypcuw--'으로 나타낸다.:'로 구분하여 나타낸다.| 도형 | 도형 코드 |
|---|---|
CuCuCuCu |
|
CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw |
|
Cr--Cr--:--Cw--Cw:Cw--Cw--:--Cr--Cr |
|
Rg------:--Rw----:----Rg--:------Rw |
도형을 조작하는 여러 가지 기계로 더욱 복잡한 도형을 만들 수 있다. 다음은 도형 조작을 위한 기계들에 대한 설명이다.
--------'이 되는 경우에는 그 층이 사라지고 그 층보다 높은 층들을 한 층씩 내린다.다음은 기계의 작동 예시이다.
| 절단기 | ||
|---|---|---|
| 입력 | 서쪽 절반 출력 | 동쪽 절반 출력 |
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층까지 있을 수 있다.
올바른 도형 코드만 입력으로 주어진다.
첫째 줄에 사용할 조작의 개수 $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
4 CbCuCbCu ----SrCr --Cr--Wb Sr----Rp CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw
6 3 4 3 10 1 10 11 12 4 1 20 w 3 2 20 21 3 1 12 30 3 30 21 100
1 CrCgCbCy Cr--Cr--:--Cw--Cw:Cw--Cw--:--Cr--Cr
15 1 1 2 3 2 3 3 1 1 3 4 5 3 5 2 6 2 6 7 1 4 7 7 w 3 6 7 8 4 6 6 w 4 7 7 r 3 8 6 8 3 8 7 9 1 9 1 10 2 10 11 2 3 10 11 11 2 11 100 1
4 CrRpWrSp CgRcWgSc CbRuWbSu CyRwWySw Rg------:--Rw----:----Rg--:------Rw
-1
Contest > BOJ User Contest > 유틸컵 > 제2회 유틸컵 🏭🟥번