結果
問題 | No.1605 Matrix Shape |
ユーザー |
![]() |
提出日時 | 2021-11-09 00:04:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 485 ms / 2,000 ms |
コード長 | 1,308 bytes |
コンパイル時間 | 161 ms |
コンパイル使用メモリ | 82,132 KB |
実行使用メモリ | 166,840 KB |
最終ジャッジ日時 | 2024-11-17 03:46:54 |
合計ジャッジ時間 | 8,743 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
from sys import stdinn, *indata = map(int, stdin.read().split())offset = 0gnum = [0 for i in range((10**5)*2+1)]ginv = [0 for i in range((10**5)*2+1)]g = [[] for i in range((10**5)*2+1)]appeared = set()for i in range(n):s, t = indata[offset + 2*i],indata[offset + 2*i+1]g[s].append(t)g[t].append(s)gnum[s] += 1ginv[t] += 1appeared.add(s)appeared.add(t)check = [False for i in range((10**5)*2+1)]kari = appeared.pop()que = [kari]check[kari] = Truewhile que:now = que.pop()for i in g[now]:if not check[i]:que.append(i)check[i] = Truefor i in appeared:if not check[i]:print("{}".format(0))exit()plusused = Falseminusused = Falsefor i in range(1,(10**5)*2+1):if abs(gnum[i] - ginv[i]) >= 2:print("{}".format(0))exit()elif gnum[i] - ginv[i] == 1:if plusused:print("{}".format(0))exit()else:plusused = Trueelif gnum[i] - ginv[i] == 1:if minusused:print("{}".format(0))exit()else:minusused = Trueif plusused:print("{}".format(1))exit()ans = 0for i in range(1,(10**5)*2+1):if gnum[i]:ans += 1print("{}".format(ans))