結果
問題 |
No.488 四角関係
|
ユーザー |
![]() |
提出日時 | 2023-07-22 16:41:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 772 ms / 5,000 ms |
コード長 | 711 bytes |
コンパイル時間 | 112 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 73,524 KB |
最終ジャッジ日時 | 2024-09-22 16:21:26 |
合計ジャッジ時間 | 15,867 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines import numpy as np import itertools N,M = map(int,readline().split()) m = map(int,read().split()) AB = zip(m,m) G = np.zeros((N,N),np.bool_) for a,b in AB: G[a,b] = 1 G[b,a] = 1 ABCD = np.array(list(itertools.combinations(range(N),4))) if ABCD.shape[0] == 0: print(0) exit() def deg(i): d = np.zeros(ABCD.shape[0],np.int32) for j in range(4): if i == j: continue d += G[ABCD[:,i], ABCD[:,j]] return d is_ok = np.ones(ABCD.shape[0],np.bool_) for i in range(4): is_ok &= deg(i) == 2 answer = np.count_nonzero(is_ok) print(answer)