結果
問題 |
No.1605 Matrix Shape
|
ユーザー |
|
提出日時 | 2022-05-19 21:59:31 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 953 bytes |
コンパイル時間 | 92 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 96,000 KB |
最終ジャッジ日時 | 2024-09-19 02:40:56 |
合計ジャッジ時間 | 28,491 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 25 RE * 9 |
ソースコード
n = int(input()) a = [] g = [[] for _ in range(2 * 10**5)] g_r = [[] for _ in range(2 * 10**5)] for _ in range(n): u, v = map(int, input().split()) a.append([u - 1, v - 1]) g[v - 1].append(u - 1) g_r[u - 1].append(v - 1) order = [] sw = [True for _ in range(2 * 10**5)] def dfs(s): sw[s] = False for i in g[s]: if sw[i]: dfs(i) order.append(s) dfs(v - 1) order_R = [] sw = [True for _ in range(2 * 10**5)] def dfs(s): sw[s] = False for i in g[s]: if sw[i]: dfs(i) order_R.append(s) dfs(order[len(order) - 1]) print(order_R) if len(order_R) != n: print(0) else: count = 0 z = set() x = order_R[0] y = order_R[-1] for i in range(len(order_R) - 1): if order_R[i] == y and order_R[i + 1] == x: count += 1 z.add(order_R[i]) z.add(y) if count < a.count([y, x]): print(len(z)) else: print(1)