문제 링크
- http://icpc.me/14398
사용 알고리즘
- 이분매칭
풀이
$N \leq 200$이면 플로우를 의심해봐야 합니다.
막대기 두 개를 선택하는 것은 다음 3가지 경우 중 하나입니다.
- 짝수 2개
- 홀수 2개
- 짝수 1개, 홀수 1개
짝수 2개를 고르는 것은 두 수가 서로소가 아니기 때문에 불가능합니다.
홀수 2개를 고르는 것을 생각해봅시다.
양의 정수 $a, b$에 대해 홀수 2개를 각각 $2a-1, 2b-1$이라고 합시다. 두 수를 제곱해서 더하면 $4(a^2+b^2-a-b)+2$가 나오고, 이 수는 2의 배수이면서 4의 배수가 아닙니다.
홀수 2개를 제곱해서 더하면 제곱수가 나오지 않기 때문에 홀수 2개를 선택하는 것도 불가능합니다.
짝수와 홀수가 각각 자신들끼리 연결되지 않으므로 이분 그래프로 모델링할 수 있고, 이분 매칭으로 문제를 풀 수 있습니다.
전체 코드
1 |
|