[백준] 14391 - 종이 조각 Python
·
알고리즘/비트마스크
https://www.acmicpc.net/problem/14391 14391번: 종이 조각 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, www.acmicpc.net 직사각형 종이를 적절히 잘라 가로 조각들과 세로 조각들의 합을 최대로 만드는 문제다. 종이 조각을 자를때 특별한 규칙이 없고, 입력으로 주어지는 조각의 숫자들또한 규칙이 없으므로, 모든 경우의 수를 탐색해 해를 도출해본다. 각 조각들마다 두 가지 경우로 나뉜다. - 가로 조각일 경우 - 세로 조각일 경우 이때 가로 조각을 0, 세로 조각을 1로 표현한다면 각 조각들마다 0 과 1의 상태를 가지게..
[백준] 2234 - 성곽 Python
·
알고리즘/BFS
https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 N개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net 성의 지도를 입력받아 성에 있는 방의 개수, 가장 넓은 방의 넓이, 하나의 벽을 제거하여 얻을 수 있는 가장 넓은 방의 크기를 구하는 문제다. 벽에 대한 정보는 0 ~ 15 사이 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, 동쪽에 벽이 있을 때는 4를, 남쪽에 벽이 있을 때는 8을 더한 값이 주어진다. 방의 개수와 가장 넓은 방의 넓이는 완전탐색, BFS ..