답은 알고리즘 뿐이야!

[BOJ 2365] 숫자판 만들기 본문

알고리즘/백준문제풀이

[BOJ 2365] 숫자판 만들기

skyde47 2020. 9. 3. 20:35

문제 출처 : https://www.acmicpc.net/problem/2365

 

2365번: 숫자판 만들기

입력의 첫째 줄에는 행(열)의 크기 N이 주어진다(1≤N≤50). 둘째 줄에는 N개의 정수가 주어진다. 주어지는 정수는 1행부터 N행까지의 합을 차례대로 나타낸다. 셋째 줄에는 N개의 정수가 주어진다

www.acmicpc.net

 

풀이 :

 

네트워크 플로우 최대 유량 문제입니다.

 

아래의 그림 처럼 행과 열을 각 각 묶어서 모델링 하여

1번행 3번열을 묶으면 (1,1),

1번행 4번열을 묶으면 (1,2)

이런식으로 표현 될 수 있도록 모델링 합니다.

그 후 문제 조건에 따라 최대 숫자의 값을 최소로 하는 형태를 찾아야합니다.

이는 모든 엣지의 Capacity에 대해 Limit을 1 ~ 1000까지 걸어

이분탐색을 하여 Maximum Flow가 현재 Limit을 걸고 Flow를 흘렸을 때와 동일한 지에 대해 판단합니다.

다르면 Limit이 적었다는 의미이므로 Limit을 늘려주고,

같다면 Limit이 충분하다는 의미이므로 Limit을 줄여주시면 됩니다.

 

 

'알고리즘 > 백준문제풀이' 카테고리의 다른 글

[BOJ 16978] 수열과 쿼리 22  (0) 2020.09.04
[BOJ 11495] 격자 0 만들기  (0) 2020.09.03
[BOJ 1760] N-Rook  (0) 2020.09.03
[BOJ 2414] 게시판 구멍 막기  (0) 2020.09.03
[BOJ 5651] 완전 중요한 간선  (0) 2020.09.03
Comments