結果

問題 No.2910 単体ホモロジー入門
ユーザー 👑 p-adic
提出日時 2023-11-27 22:01:15
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 37 ms / 2,000 ms
コード長 746 bytes
コンパイル時間 398 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-09-26 12:36:46
合計ジャッジ時間 3,251 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 47
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M=map(int,input().split())
M2=M*2
ij=[0]*M2
for m in range(M):
	ij[m]=list(map(int,input().split()))
	ij[m+M]=ij[m][::-1]
vertex_exception=set(map(int,input().split()))
for m0 in range(M2):
	for m1 in range(M2):
		#辺3本の全探索
		for m2 in range(M2):
			v=[m0,m1,m2]
			#3本が閉路をなすか判定
			if [ij[m][1]for m in v]==[ij[m][0]for m in v[1:]+[m0]]:
				#頂点が例外でないか判定
				if {ij[m][0]for m in v}!=vertex_exception:print("Yes"),exit()
				continue
			#辺4本の全探索
			for m3 in range(M2):
				v=[m0,m1,m2,m3]
				#4本が閉路をなすか判定
				if [ij[m][1]for m in v]==[ij[m][0]for m in v[1:]+[m0]] and len({m%M for m in v})==4 and len({ij[m][0]for m in v})==4:print("Yes"),exit()
print("No")
0