CROC 2016 - Qualification
はい。
http://codeforces.com/contest/644
A. Parliament of Berland
ざっくりと大意
・a * bの座席に1からnを偶数同士、奇数同士で隣接しないよう配置できるか??
Python2
n,a,b=map(int,raw_input().split()) k=[i for i in range(1,n+1) if i%2==0] m=[i for i in range(1,n+1) if i%2] ans=chk=0 if n>a*b: print -1 else: for i in range(a): for j in range(b): if (i+j)%2==0: if len(m): print m.pop(0), else: print 0, elif (i+j)%2: if len(k): print k.pop(0), else: print 0, print
偶数、奇数を交互に出していけば良いのですが、幅が偶数だと調整が必要になる。例えば1 2 3 4の次の行を5 6 7 8にすると縦に偶奇が一致するので出来ない。6 5 8 7を出力するのにもnを超えないようにしたり調節が必要。といった管理が面倒くさいのでリストを使いました。