結果

問題 No.1143 面積Nの三角形
ユーザー もでる
提出日時 2025-08-06 22:56:45
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
実行時間 -
コード長 877 bytes
コンパイル時間 223 ms
コンパイル使用メモリ 12,032 KB
実行使用メモリ 10,368 KB
最終ジャッジ日時 2025-08-06 22:56:47
合計ジャッジ時間 2,043 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2
other WA * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

import math

def count_triangles_with_area(N):
    triangles = set()

    # 最大辺を制限(面積Nなので辺の合計はある程度までで良い)
    max_len = 2 * N + 1  # 十分な上限(実験的に)

    for a in range(1, max_len):
        for b in range(a, max_len):  # b >= a
            for c in range(b, max_len):  # c >= b
                # 三角形の成立条件
                if a + b > c:
                    s = (a + b + c) / 2
                    area_squared = s * (s - a) * (s - b) * (s - c)
                    if area_squared <= 0:
                        continue
                    area = math.sqrt(area_squared)
                    if math.isclose(area, N, rel_tol=1e-9):
                        # 三辺をソートしてセットに登録(合同除去)
                        triangles.add((a, b, c))

    return len(triangles)
0