結果
問題 |
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()