题意:骨牌有上下反面,上面有1~6的数字,给出骨牌的排列,上下的数字,问能否使得上面的和,下面的和都为偶数。
奇数+奇数=偶数。奇数+偶数=奇数。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std ;
int main()
{
int up[105],low[105];
int a,b,c,n;
while(scanf("%d",&n)!=EOF){
a=b=c=0;
for(int i=0;i<n;i++){
scanf("%d %d",&up[i],&low[i]);
if(up[i]&1) a++;
if(low[i]&1) b++;
if((up[i]+low[i])&1) c++;
}
if(!(a&1)&&!(b&1)) printf("0\n");
else{
if(a*b==0) printf("-1\n");
else if(c==0||(a+b)&1) printf("-1\n");
else printf("1\n");
}
}
return 0 ;
}