Domino(아날로그)
3060 단어 dom
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Valera has got n domino pieces in a row. Each piece consists of two halves — the upper one and the lower one. Each of the halves contains a number from 1 to 6. Valera loves even integers very much, so he wants the sum of the numbers on the upper halves and the sum of the numbers on the lower halves to be even.
To do that, Valera can rotate the dominoes by 180 degrees. After the rotation the upper and the lower halves swap places. This action takes one second. Help Valera find out the minimum time he must spend rotating dominoes to make his wish come true.
Input
The first line contains integer n (1 ≤ n ≤ 100), denoting the number of dominoes Valera has. Next n lines contain two space-separated integers xi, yi (1 ≤ xi, yi ≤ 6). Number xi is initially written on the upper half of the i-th domino, yi is initially written on the lower half.
Output
Print a single number — the minimum required number of seconds. If Valera can't do the task in any time, print - 1.
Sample test(s)
input
2
4 2
6 4
output
0
input
1
2 3
output
-1
input
3
1 4
2 3
4 4
output
1
Note
In the first test case the sum of the numbers on the upper halves equals 10 and the sum of the numbers on the lower halves equals 6. Both numbers are even, so Valera doesn't required to do anything.
In the second sample Valera has only one piece of domino. It is written 3 on the one of its halves, therefore one of the sums will always be odd.
In the third case Valera can rotate the first piece, and after that the sum on the upper halves will be equal to 10, and the sum on the lower halves will be equal to 8.
제목:
N(1에서 100) 쌍의 숫자를 제시하고 다른 왼쪽의 수와 오른쪽의 수를 모두 짝수로 하면 특정한 쌍의 교환 위치를 통해 조건을 만족시킬 수 있다. 가장 작은 교환 횟수를 출력할 수 있다. 만약에 그 자체가 조건을 만족시켰다면 0을 출력하고 도저히 달성할 수 없다면 -1을 출력할 수 있다.
생각:
좌우 반이 어떤 수든지 간에 총수를 합치면 세 가지 상황밖에 없다.1. 양쪽 모두 짝수 2.양쪽 다 홀수 3.한쪽은 홀수이고, 한쪽은 짝수이다.상황은 1은 0을 출력하고, 상황은 3은 -1을 출력한다.상황 2에는 두 가지 상황이 있는데 대수가 하나의 홀수이고 하나의 짝수라면 교환 1회를 통해 조건을 충족시키고 1을 출력할 수 있다.만약 이런 쌍수가 존재하지 않는다면, 어떻게 교환해도 조건을 만족시킬 수 없다. 출력-1.
어쨌든 출력의 결과는 3가지 가능성밖에 없다. 1,-1,0.
AC:
#include<stdio.h>
int main()
{
int n,i;
int le=0,ri=0,di=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
int a,b;
scanf("%d%d",&a,&b);
if((a+b)%2) di=1;
le+=a;
ri+=b;
}
if(!(le%2)&&!(ri%2)) printf("%d
",0);
else if((le+ri)%2) printf("%d
",-1);
else printf("%d
",di?1:-1);
return 0;
}
요약:
생각이 뚜렷하지 않고 생각이 깊고 자세하지 못하다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JavaScript DOM 조작③ 「태그명을 키로 요소를 취득」이 기사에서는 JavaScript DOM 작업 "태그 이름을 키로 요소 가져오기" 에 대해 설명한다. 역할 HTML 내의 지정된 태그명을 가지는 요소를 취득하는 메소드 구문 구문은 다음과 같다. index.js 보충...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.