結果
| 問題 |
No.488 四角関係
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-02-25 01:36:40 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,069 bytes |
| コンパイル時間 | 336 ms |
| コンパイル使用メモリ | 82,024 KB |
| 実行使用メモリ | 332,100 KB |
| 最終ジャッジ日時 | 2025-01-03 08:21:56 |
| 合計ジャッジ時間 | 10,966 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 5 WA * 16 TLE * 1 |
ソースコード
from collections import deque
from collections import defaultdict
import copy
def solve():
n, m = map(int, input().split())
node_pair = []
for _ in range(m):
a, b = map(int, input().split())
node_pair.append([a, b])
node_dict = defaultdict(list)
for pair in node_pair:
node_dict[pair[0]].append(pair[1])
node_dict[pair[1]].append(pair[0])
squares = set()
for i in range(n):
pairs = deque()
pairs.append([i])
while len(pairs) > 0:
pair = pairs.popleft()
connect_nodes = node_dict[pair[-1]]
for node in connect_nodes:
if node not in pair:
tpair = copy.deepcopy(pair)
tpair.append(node)
if len(tpair) == 4:
if tpair[0] in node_dict[pair[-1]]:
tpair.sort()
squares.add(tuple(tpair))
else:
pairs.append(tpair)
ans = 0
for square in squares:
for idx in range(4):
connection_count = 0
for node in node_dict[square[idx]]:
if node in square:
connection_count += 1
if connection_count != 2:
break
else:
ans += 1
print(ans)
if __name__=="__main__":
solve()