結果
| 問題 |
No.2900 Star Divine
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-09-20 23:13:19 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 429 ms / 2,000 ms |
| コード長 | 960 bytes |
| コンパイル時間 | 160 ms |
| コンパイル使用メモリ | 82,292 KB |
| 実行使用メモリ | 84,876 KB |
| 最終ジャッジ日時 | 2024-09-20 23:13:23 |
| 合計ジャッジ時間 | 3,519 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 |
ソースコード
import sys,random,bisect
from collections import deque,defaultdict
from heapq import heapify,heappop,heappush
from itertools import permutations
from math import gcd,log
input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int,input().split())
li = lambda :list(mi())
def solve(x,y,m,edge):
while True:
A = [random.randint(0,99) & 1 for i in range(y)]
deg = [0] * x
for yi in range(y):
if not A[yi]:
continue
for xi in edge[yi]:
deg[xi] ^= 1
if sum(deg) + sum(A) >= (x+y+1)//2:
return ([xi for xi in range(x) if deg[xi]],[yi for yi in range(y) if A[yi]])
for _ in range(int(input())):
x,y,m = mi()
edge = [set() for yi in range(y)]
for i in range(m):
u,v = mi()
edge[v-1].add(u-1)
X,Y = solve(x,y,m,edge)
print(len(X),len(Y))
print(*[xi+1 for xi in X])
print(*[yi+1 for yi in Y])