Informatica Online Judge

  Domino [0863 / 035F]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 47   Total Tried : 274


The Champion of this Problem (C++) : hmjkzdxq - 0ms / 746byte
My Best Submission (C++) : N/A

[]

Background

경곽이는 n개의 도미노 조각을 임의로 배치하여 2*n의 판으로 만들었다.

각 도미노 조각은 2*1형태로 상단부와 하단부에 각각 1~6까지의 정수 값을 가지고 있다.

경곽이는 짝수를 무지 무지 좋아한다.

경곽이는 자신이 가지고 있는 n개의 도미노 조각의 상단부의 합과 하단부의 합이 짝수가 되도록 도미노를 재배치 하고자 한다.

각 도미노는 180도 회전 가능하다. 경곽이가 도미노 판의 상단부 합과 하단부 합이 모두 짝수가 되도록 하는 최소 재배치 횟수를 구하는 프로그램을 작성하시오.

Input

첫 번째 줄에 도미노조각의 수 n이 입력된다.
두 번째 줄부터 n줄에 걸쳐서 각 도미노의 상단부, 하단부의 값이 공백으로 구분되어 입력된다.

[입력값의 정의역]
1 <= n <= 100
1 <= 각도미노의 값 <= 6

Output

모두 짝수로 만드는 최소 회전 횟수를 출력한다.
단, 불가능할 경우에는 -1을 출력한다.

IO Example

입력
2
4 2
6 4

출력
0

입력2
1
2 3

출력2
-1

입력3
3
1 4
2 3
4 4

출력
1

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]