読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #205 (Div. 2)

はい。
http://codeforces.com/contest/353

A. Domino

ざっくりと大意

・各部に1から6の数が書かれたドミノがn行分ある。
・どっちが上なのか下なのか分からないが、swap操作をして左列と右列の和がどちらも偶数になるようにしたい。

方針のようなもの

・左の和と右の和が既に偶数なら0手で、どちらかだけ奇数なら偶数に出来ないので-1
・左右とも奇数の場合でも偶数が作れるのは奇数のパーツが同じドミノのみで出現していない場合、同じドミノのみで出現しているとswap操作をしても偶数になる変更ではないため。

n=input()
l=r=0
a=e=0
for i in range(n):
    x,y=map(int,raw_input().split())
    if x%2 and y%2: e+=1
    if x%2 or y%2: a+=1
    l+=x%2
    r+=y%2
if l%2==r%2==0:
    print 0
elif (l+r)%2==0 and a!=e:
    print 1
elif (l+r)%2 or((l+r)%2==0 and a==e):
    print -1