티스토리 뷰
https://www.acmicpc.net/problem/1802
1802번: 종이 접기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 1000보다 작거나 같은 자연수이다. 둘째 줄부터 T개의 줄에 각각의 종이가 어떻게 접혀있는지가 주어진다. 종이의 정보는 문자열로 주어지며, 1
www.acmicpc.net
분할정복 문제.
음 .. 풀긴 했는데 뭔가 복잡하게 푼 느낌? 더 간단히 풀수 있는 방법이 있을것 같다.
처음에 문제 이해가 좀 복잡하긴 한데 결국 이 문제는 종이의 접히는 부분이 주어 졌을때, 그 종이의 가운데를 계속 접히는 방향으로 접었을때 끝까지 접을수 있는지 없는지 판단하는 것이다.
다음과 같이 주어진다면
1000110
가운데가 0 이기 때문에 오른쪽 부분이 반시계 방향으로 이동해 다음과 같게 된다
100
100
이렇게 되는 이유는 (1000110)의 오른쪽 부분 (110)이 왼쪽 부분 (100)의 위로 오고, 이때 반시계 방향으로 돌기 때문에 옆에서 봤을때 접힌 부분이 반대로 되기 때문에 오른쪽 부분 (110) -> 반시계 방향으로 돌면서 (011) -> 옆에서 봤을때 접힌 부분이 반대로 되어서 (100)이 된다.
이렇게 새로운 종이들이 생기게 되고, 가운데 부분이 모두 같은 경우에만 또다시 접을수 있다.
만약 접다가 가운데 부분이 서로 다른 경우가 있다면 더이상 접을수 없게된다.
'PS' 카테고리의 다른 글
백준 2493. 탑 (0) | 2022.11.26 |
---|---|
백준 1874. 스택 수열 (0) | 2022.11.25 |
백준 2630. 색종이 만들기 (0) | 2022.11.25 |
백준 1793. 타일링 (0) | 2022.11.24 |
백준 1992. 쿼드트리 (0) | 2022.11.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Kruskal
- 재귀
- 자료구조
- DP
- permutation
- two pointer
- recursion
- Dijkstra
- dfs
- back tracking
- priority queue
- MVC
- db
- binary search
- 이분탐색
- floyd warshall
- C++
- Python
- C
- Implementation
- Spring
- greedy
- Tree
- BFS
- graph
- Brute Force
- CSS
- Stack
- Unity
- 조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함