結果

問題 No.482 あなたの名は
ユーザー tookunn_1213tookunn_1213
提出日時 2017-02-11 01:02:16
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 455 ms / 2,000 ms
コード長 693 bytes
コンパイル時間 167 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 29,620 KB
最終ジャッジ日時 2024-06-09 11:29:46
合計ジャッジ時間 8,210 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 28 ms
10,624 KB
testcase_01 AC 30 ms
10,624 KB
testcase_02 AC 28 ms
10,752 KB
testcase_03 AC 29 ms
10,624 KB
testcase_04 AC 26 ms
10,624 KB
testcase_05 AC 27 ms
10,752 KB
testcase_06 AC 29 ms
10,624 KB
testcase_07 AC 30 ms
10,752 KB
testcase_08 AC 29 ms
10,752 KB
testcase_09 AC 28 ms
10,752 KB
testcase_10 AC 29 ms
10,880 KB
testcase_11 AC 31 ms
10,880 KB
testcase_12 AC 31 ms
10,880 KB
testcase_13 AC 31 ms
10,880 KB
testcase_14 AC 31 ms
10,752 KB
testcase_15 AC 441 ms
29,496 KB
testcase_16 AC 439 ms
29,492 KB
testcase_17 AC 436 ms
29,616 KB
testcase_18 AC 446 ms
29,496 KB
testcase_19 AC 435 ms
29,500 KB
testcase_20 AC 444 ms
29,492 KB
testcase_21 AC 438 ms
29,364 KB
testcase_22 AC 442 ms
29,620 KB
testcase_23 AC 427 ms
29,496 KB
testcase_24 AC 455 ms
29,488 KB
testcase_25 AC 437 ms
29,364 KB
testcase_26 AC 429 ms
29,488 KB
testcase_27 AC 446 ms
29,500 KB
testcase_28 AC 423 ms
29,492 KB
testcase_29 AC 345 ms
29,488 KB
testcase_30 AC 29 ms
10,624 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

N,K = map(int,input().split())
D = [int(i)-1 for i in input().split()]
cnt = 0
unionfind = [i for i in range(N)]
size = [1 for i in range(N)]
used = [False for i in range(N)]
def find(x):
	if unionfind[x] == x:
		return x
	unionfind[x] = find(unionfind[x])
	return unionfind[x]
def unite(x,y):
	x = find(x)
	y = find(y)
	if x == y:
		return
	if x < y:
		unionfind[y] = x
		size[x] += size[y]
	else:
		unionfind[x] = y
		size[y] += size[x]
for i in range(N):
	a = D[i]
	b = D[D[i]]
	unite(a,b)
for i in range(N):
	if not used[find(i)]:
		cnt += size[find(i)]-1
		used[find(i)] = True
def check():
	if K < cnt:
		return False
	return cnt % 2 == K % 2
if check():
	print('YES')
else:
	print('NO')
0