티스토리 뷰

알고리즘/백준

백준 17822 원판 돌리기 C++

4567은 소수 2021. 7. 16. 14:10

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

 

17822번: 원판 돌리기

반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀

www.acmicpc.net

N개의 원판에 M개의 수가 있을 때 규칙에 맞춰 진행 후 최종 남은 수의 합을 구하는 문제입니다. 규칙은 다음과 같습니다.

 

- 회전 방법은 정해져 있다.

- 번호가 xi의 배수인 원판을 di 방향으로 ki 칸 회전시킨다. (di : 0, 1 : 시계, 반시계)

- 원판에 수가 남아있으면 인접한 모든 수를 지운다.

- 지울 수가 없으면 전체 남은 수의 평균을 구해 평균보다 크면 -1 작으면 +1을 한다.

 

N번째 원판을 y축, 원판 내의 수를 x축으로 생각하면 됩니다. 그리고 지울 수는 bfs를 이용해 인접한 수를 모두 구해주면 됩니다. 주어진 방법대로 그대로 구현하면 되는 문제라 코드를 보시면 됩니다.

(사실 예제 다 안 넣어봤어서 몇 번 틀렸었다 ㅎㅎㅎ)

 

 

'알고리즘 > 백준' 카테고리의 다른 글

퀵소트 python3  (0) 2021.07.21
백준 2631 줄세우기  (0) 2021.07.21
백준 2212 센서  (0) 2021.07.06
백준 18870 좌표 압축 python3  (0) 2021.06.29
백준 2056 작업 C++  (0) 2021.06.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함