题解 CF353A 【Domino】

判断上下奇偶性并判断有没有上下奇偶性不一致的牌即可
分4种情况讨论

  • 奇偶性不同怎么变都不行,输出-1
  • 都是偶数直接输出0
  • 都是奇数需要找到上下奇偶性不同的牌,输出1,否则不可能,输出-1
#include <bits/stdc++.h>

using namespace std;

int main()
{
	int n, c = 0, d = 0;
	bool flag = false;
	scanf("%d", &n);
	for (int i = 1; i <= n; ++i)
	{
		int a, b;
		scanf("%d%d", &a, &b);
		if ((a & 1) ^ (b & 1)) flag = true;
		c ^= a & 1;
		d ^= b & 1;
	}
	if (c ^ d)
		puts("-1");
	else if (c)
	{
		if (flag)
			puts("1");
		else
			puts("-1");
	}
	else
		puts("0");
	return 0;
}

posted @ 2019-01-21 14:42  面向大海  阅读(111)  评论(0编辑  收藏  举报