結果
問題 | No.2563 色ごとのグループ |
ユーザー |
👑 ![]() |
提出日時 | 2023-11-24 01:33:44 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 895 bytes |
コンパイル時間 | 352 ms |
コンパイル使用メモリ | 82,208 KB |
実行使用メモリ | 91,808 KB |
最終ジャッジ日時 | 2024-09-26 16:34:38 |
合計ジャッジ時間 | 7,280 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 TLE * 1 -- * 13 |
ソースコード
from collections import dequeimport sysinput = sys.stdin.readlineN, M = map(int, input().split())C = list(map(int, input().split()))graph = [[] for _ in range(N)]for i in range(M):u, v = map(int, input().split())u -= 1v -= 1for i in range(M):if C[u] == C[v]:graph[u].append(v)graph[v].append(u)ans = 0Clen = [0 for _ in range(N + 1)]for i in range(N):Clen[C[i]] += 1isvisited = [False for _ in range(N)]dq = deque()for i in range(N):if isvisited[i]:continueisvisited[i] = Truedq.append(i)while len(dq):Clen[C[i]] -= 1p = dq.popleft()for x in graph[p]:if isvisited[x]:continueisvisited[x] = Truedq.append(x)Clen[C[i]] += 1# print(Clen)for i in range(1, N + 1):ans += max(0, Clen[i] - 1)print(ans)