본문 바로가기

728x90

브루트포스

(2)
[백준] 14502번 연구소 [Python] 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다. 예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자. 2 0 0 0 1 1 0 0 0 1 0 1 2 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1..
[백준] 15686번 치킨 배달 [Python] - 백트래킹 치킨 거리: 집과 가장 가까운 치킨집 사이의 거리 도시의 치킨 거리: 모든 집의 치킨 거리의 합 치킨 거리는 맨해튼 거리(Manhattan distance) 또는 택시 거리로 구한다. 초록색: 유클리드 거리 / 나머지: 맨허튼 거리 N과 M이 주어지고 N개의 숫자가 N줄로 주어질 때, 아래 조건에 따라 도시의 치킨 거리의 최솟값을 구하는 문제 숫자는 NxN 크기의 마을에 대한 정보로 0은 빈 칸, 1은 집, 2는 치킨집을 의미함 치킨 집을 최대 M만 고르고 나머지는 폐업해야한다. 더보기 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 $(r, c)$와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸..