인구 이동 2

백준(Python) 16234번 인구 이동 풀이

Python으로 구현한 16234번 인구 이동 문제 풀이입니다. https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net from collections import deque # 특정 위치에서 출발하여 모든 연합을 체크한 뒤에 데이터 갱신 def process(x, y, index) : # (x, y)의 위치와 연결된 나라(연합) 정보를 담는 리스트 united = [] united.append((x, y)) # 너비 우선 탐색(BFS)을..

[DFS/BFS] 이코테 (파이썬) 인구 이동 풀이

[문제] N x N 크기의 땅이 있고, 땅은 1 x 1개의 칸으로 나누어져 있습니다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있습니다. 인접한 나라 사이에는 국경선이 존재합니다. 모든 나라는 1 x 1 크기이기 때문에, 모든 국경선은 정사각형 형태입니다. 오늘부터 인구 이동이 시작되는 날입니다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속됩니다. 1. 국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루 동안 엽니다. 2. 위의 조건에 의해 열어야 하는 국경선이 모두 열렸다면, 인구 이동을 시작합니다. 3. 국경선이 열려 있어 인접한 칸만을 이용해 이동..