前提・実現したいこと
表題についてpythonで下記の問題のコードを提出したところ、いくつかREが出てしまいました。
どこのロジックが問題なのか全く分からず、途方に暮れています。
どなたかご教授頂けますでしょうか?
方針:UnionFindを用いて、連結関係を作成⇒Counterを用いて、連結関係の中で最も最大のものを抽出
発生している問題・エラーメッセージ
5つのパターンでREが発生してます
エラーメッセージ
該当のソースコード
python
1from collections import Counter 2 3N,M = map(int,input().split()) 4par = [i for i in range(N+1)] 5 6def find(x): 7 if par[x] == x: 8 return x 9 else: 10 par[x] = find(par[x]) 11 return par[x] 12 13def same(x,y): 14 return find(x) == find(y) 15 16def unite(x,y): 17 x = find(x) 18 y = find(y) 19 if x == y: 20 return 0 21 par[x] = y 22 23for _ in range(M): 24 A,B = map(int,input().split()) 25 if not same(A,B): 26 unite(A,B) 27 28for i in range(1,N+1): 29 find(i) 30 31S = Counter(par) 32answer = max(S.values()) 33 34print(answer) 35
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー