結果

問題 No.488 四角関係
ユーザー はむ吉🐹
提出日時 2017-02-26 13:39:22
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 240 ms / 5,000 ms
コード長 879 bytes
コンパイル時間 125 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-06-11 16:35:34
合計ジャッジ時間 2,704 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/usr/bin/env python3

import itertools


def count_squares(n, x):
    def is_quad(a, b, c, d):
        if not all((x[a][b], x[b][c], x[c][d], x[d][a])):
            return False
        elif x[a][c] or x[b][d]:
            return False
        else:
            return True
    res = 0
    for v1, v2, v3, v4 in itertools.combinations(range(n), 4):
        if is_quad(v1, v2, v3, v4):
            res += 1
        elif is_quad(v1, v3, v2, v4):
            res += 1
        elif is_quad(v1, v3, v4, v2):
            res += 1
    return res


def main():
    n, m = (int(x) for x in input().split())
    adj_matrix = [[False for _ in range(n)] for _ in range(n)]
    for _ in range(m):
        a, b = (int(x) for x in input().split())
        adj_matrix[a][b] = True
        adj_matrix[b][a] = True
    print(count_squares(n, adj_matrix))


if __name__ == '__main__':
    main()
0