만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

할 일 정하기 2

시간 제한0.5초메모리 제한512 MB

요약
N명의 사람과 N개의 일이 있고 각 사람이 서로 다른 일을 하나씩 맡을 때 총비용이 최소가 되는 배정을 구한다.
난이도

어려움10점 중 8점

유형
그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

NN명의 사람과 NN개의 일이 있다. 각 사람은 일을 하나씩 맡아야 하고, 각 일은 한 사람만 맡아야 한다. 모든 사람은 모든 일을 할 능력이 있다.

사람은 1번부터 NN번까지, 일도 1번부터 NN번까지 번호가 매겨져 있다.

ii번 사람이 jj번 일을 할 때 드는 비용을 DijD_{ij}라고 하자. 모든 일을 마치는 데 드는 비용의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 사람과 일의 수 NN (1≤N≤5001 \le N \le 500)이 주어진다.

둘째 줄부터 NN개의 줄에 DD의 내용이 주어진다. 이 중 ii번째 줄의 jj번째 수가 DijD_{ij}이다. 비용은 10,000보다 작거나 같은 자연수이다.

출력

모든 일을 마치는 데 드는 비용의 최솟값을 출력한다.

예제2

  1. 예제 1

    입력
    3
    2 3 3
    3 2 3
    3 3 2
    
    예상 출력
    6
    
  2. 예제 2

    입력
    2
    1 2
    1 100
    
    예상 출력
    3