結果
| 問題 |
No.1605 Matrix Shape
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-05-19 23:10:35 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,046 bytes |
| コンパイル時間 | 85 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 65,020 KB |
| 最終ジャッジ日時 | 2024-09-19 03:54:34 |
| 合計ジャッジ時間 | 17,978 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 TLE * 1 -- * 6 |
ソースコード
n = int(input())
P_C = {}
C_P = {}
v = set()
z = {}
for _ in range(n):
x, y = map(int, input().split())
if x in v:
z[x] += 1
else:
v.add(x)
z[x] = 1
if y in v:
z[y] -= 1
else:
v.add(y)
z[y] = -1
x_P = C_P.get(x, 0)
y_P = C_P.get(y, 0)
if x_P == 0 and y_P == 0:
C_P[x] = x
C_P[y] = x
P_C[x] = [x, y]
elif x_P == 0:
C_P[x] = y_P
P_C[y_P].append(x)
elif y_P == 0:
C_P[y] = x_P
P_C[x_P].append(y)
elif x_P != y_P:
P = P_C[y_P].copy()
for i in P:
C_P[i] = x_P
P_C[x_P] += P
del P_C[y_P]
count_p1 = 0
count_0 = 0
count_m1 = 0
for i in v:
if z[i] == 0:
count_0 += 1
elif z[i] == 1:
count_p1 += 1
elif z[i] == -1:
count_m1 += 1
if len(P_C) ==1 and count_m1 == 1 and count_p1 == 1 and count_0 == len(v) - 2:
print(1)
elif len(P_C) ==1 and count_0 == len(v):
print(len(v))
else:
print(0)