結果
問題 |
No.2900 Star Divine
|
ユーザー |
|
提出日時 | 2024-10-16 18:43:15 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 751 bytes |
コンパイル時間 | 367 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 89,324 KB |
最終ジャッジ日時 | 2024-10-16 18:43:19 |
合計ジャッジ時間 | 4,301 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 6 |
ソースコード
T=int(input()) for _ in range(T): x,y,m=map(int,input().split()) red=[set() for i in range(y)] blue=[-1]*x cnt=[0]*x for i in range(m): u,v=map(int,input().split()) u-=1 v-=1 red[v].add(u) blue[u]=max(blue[u],v) cnt[u]^=1 last=[[] for i in range(y)] for i in range(x): last[blue[i]].append(i) use=[0]*y odd=[0]*x for i in range(y): diff=[0,0] for j in last[i]: if cnt[j]==0: diff[odd[j]]+=1 if diff[0]>diff[1]: use[i]=1 for j in red[i]: odd[j]^=1 if sum(use)+sum(odd)<(x+y+1)//2: for i in range(y): use[i]^=1 for i in range(x): odd[i]^=cnt[i] print(sum(odd),sum(use)) assert(sum(odd)+sum(use)>=(x+y+1)//2) print(*[i+1 for i in range(x) if odd[i]]) print(*[i+1 for i in range(y) if use[i]])