結果
問題 |
No.1147 土偶Ⅱ
|
ユーザー |
![]() |
提出日時 | 2020-08-06 11:36:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 37 ms / 500 ms |
コード長 | 852 bytes |
コンパイル時間 | 247 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-10-11 10:13:48 |
合計ジャッジ時間 | 1,614 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
def solve(): # 友達関係をbitで管理する fri = [0] * n for _ in range(m): a, b = map(int, input().split()) fri[a - 1] |= 1 << (b - 1) fri[b - 1] |= 1 << (a - 1) # 悪い(「良い」ではない)関係を見つける # 「友達でない」「共通の友達がいる」という条件を満たす2人が悪い関係 bad = [[False] * n for _ in range(n)] for a in range(n): for b in range(a): if fri[a] >> b & 1 == 0 and fri[a] & fri[b]: bad[a][b] = True # 3人の関係を全探索 ans = 0 for a in range(n): for b in range(a): if bad[a][b]: continue for c in range(b): if bad[a][c] or bad[b][c]: continue ans += 1 print(ans) n,m=map(int,input().split()) solve()