結果
問題 |
No.482 あなたの名は
|
ユーザー |
|
提出日時 | 2023-10-31 12:53:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 146 ms / 2,000 ms |
コード長 | 474 bytes |
コンパイル時間 | 236 ms |
コンパイル使用メモリ | 82,152 KB |
実行使用メモリ | 108,392 KB |
最終ジャッジ日時 | 2024-09-25 17:35:51 |
合計ジャッジ時間 | 4,235 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
from collections import defaultdict N, K = map(int, input().split()) D = list(map(int, input().split())) comp = [-1] * N cnt = 0 for i in range(N): if comp[i] != -1: continue cnt += 1 j = i while comp[j] == -1: comp[j] = cnt j = D[j]-1 d = defaultdict(int) for i in range(N): d[comp[i]] += 1 cnt = 0 for v in d.values(): cnt += v-1 if cnt > K: print('NO') elif (K-cnt) % 2 == 1: print('NO') else: print('YES')