https://www.acmicpc.net/problem/15685

 

15685번: 드래곤 커브

첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커브의 시작 점, d는 시작 방향, g는 세대이다. (0 ≤ x, y ≤ 100, 0 ≤ d ≤ 3, 0 ≤ g ≤ 10) 입력으로 주어지는 드래곤 커브는 격자 밖으로 벗어나지 않는다. 드래곤 커브는 서로 겹칠 수 있다. 방향은 0, 1, 2,

www.acmicpc.net

시뮬레이션 문제였습니다.

 

방향을 숫자로 표현한게 힌트 였습니다.

각 세대별로 그려진 드래곤 커브를 숫자로 표현해보며 규칙을 찾습니다.

 

방향이 0일때( ->)

0세대 : 0

1세대 : 0 1

2세대 : 0 1 2 1

3세대 : 0 1 2 1 2 3 2 1

4세대 : 0 1 2 1 2 3 2 1 2 3 0 3 2 3 2 1

...

 

규칙을 찾아보면

다음 세대는 이전 세대의 숫자들을 역순으로 뒤집고, 순차적으로 +1 해준뒤 다시 원레 이전세대의 숫자들에 더해줌으로써 탄생합니다.

0 1 2 3 각 방향 모두 적용이되며 각 방향의 세대들을 동일한 규칙으로 드래곤 커브를 그릴 수 있습니다.

 

직접 공책에 적어보며 풀면 이해가 더 빨리갑니다.

드래곤 커브 규칙

 

+ Recent posts