結果
問題 |
No.1147 土偶Ⅱ
|
ユーザー |
![]() |
提出日時 | 2025-03-26 15:55:14 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 82 ms / 500 ms |
コード長 | 967 bytes |
コンパイル時間 | 521 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 75,884 KB |
最終ジャッジ日時 | 2025-03-26 15:56:03 |
合計ジャッジ時間 | 2,730 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
n, m = map(int, input().split()) # Initialize adjacency list for friends adj = [set() for _ in range(n + 1)] for _ in range(m): a, b = map(int, input().split()) adj[a].add(b) adj[b].add(a) # Initialize good relationship matrix good = [[False] * (n + 1) for _ in range(n + 1)] for u in range(1, n + 1): for v in range(u + 1, n + 1): if v in adj[u]: continue # They are friends, no good relationship # Check mutual friends friends_u = adj[u] friends_v = adj[v] if len(friends_u & friends_v) > 0: good[u][v] = True good[v][u] = True # For easy lookup count = 0 # Iterate over all possible trios for i in range(1, n + 1): for j in range(i + 1, n + 1): if good[i][j]: continue # Skip if i and j have a good relationship for k in range(j + 1, n + 1): if not good[i][k] and not good[j][k]: count += 1 print(count)