結果
| 問題 |
No.2563 色ごとのグループ
|
| コンテスト | |
| ユーザー |
AngrySadEight
|
| 提出日時 | 2023-11-24 00:36:06 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 883 bytes |
| コンパイル時間 | 471 ms |
| コンパイル使用メモリ | 81,792 KB |
| 実行使用メモリ | 95,360 KB |
| 最終ジャッジ日時 | 2024-09-26 16:34:04 |
| 合計ジャッジ時間 | 7,362 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 TLE * 1 -- * 13 |
ソースコード
from collections import deque
N, 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 -= 1
v -= 1
for i in range(M):
if C[u] == C[v]:
graph[u].append(v)
graph[v].append(u)
ans = 0
Clist = [[] for _ in range(N + 1)]
for i in range(N):
Clist[C[i]].append(i)
isvisited = [False for _ in range(N)]
dq = deque()
for i in range(1, N + 1):
comp = 0
for v in Clist[i]:
if isvisited[v]:
continue
comp += 1
isvisited[v] = True
dq.append(v)
while len(dq):
p = dq.popleft()
for x in graph[p]:
if isvisited[x]:
continue
isvisited[x] = True
dq.append(x)
ans += max(0, comp - 1)
print(ans)
AngrySadEight