문제 링크
- http://icpc.me/11014
문제 출처
- 2008 Google Code Jam Round3 C2번
사용 알고리즘
- 이분 매칭
- 최대 독립 집합
시간복잡도
- O(N2M2)
풀이
격자는 이분 그래프입니다.
각 학생은 자신의 {왼쪽, 오른쪽, 왼쪽 앞, 오른쪽 앞} 자리의 답을 배낄 수 있습니다.
배낄 수 있는 자리는 모두 왼쪽 혹은 오른쪽 줄에 위치합니다. 자신이 속한 줄에 존재하는 자리의 답을 배낄 수 없습니다.
배낄 수 있는 자리들을 간선으로 잇고 짝수번째 줄과 홀수번째 줄을 분리해주면, 이분 그래프가 나오게 됩니다.
이분 매칭을 잘 해줍시다.
전체 코드
1 |
|