結果
| 問題 | No.408 五輪ピック |
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-16 00:57:09 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 1,242 bytes |
| 記録 | |
| コンパイル時間 | 156 ms |
| コンパイル使用メモリ | 81,632 KB |
| 実行使用メモリ | 98,372 KB |
| 最終ジャッジ日時 | 2025-04-16 00:58:29 |
| 合計ジャッジ時間 | 8,261 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 MLE * 4 -- * 7 |
ソースコード
def main():
import sys
input = sys.stdin.read().split()
idx = 0
N = int(input[idx])
idx += 1
M = int(input[idx])
idx += 1
adj = [set() for _ in range(N + 1)] # 1-based
for _ in range(M):
a = int(input[idx])
idx += 1
b = int(input[idx])
idx += 1
adj[a].add(b)
adj[b].add(a)
# Collect neighbors of 1
S = list(adj[1])
if len(S) < 2:
print("NO")
return
# Check all pairs u, v in S where u < v
for i in range(len(S)):
u = S[i]
for j in range(i + 1, len(S)):
v = S[j]
# Check all a in adj[u]
for a in adj[u]:
if a == 1 or a == u or a == v:
continue
# Compute common between adj[a] and adj[v]
common = adj[a] & adj[v]
if not common:
continue
# Remove 1, u, v, a from common
common.discard(1)
common.discard(u)
common.discard(v)
common.discard(a)
if common:
print("YES")
return
print("NO")
if __name__ == "__main__":
main()
lam6er