結果
問題 |
No.792 真理関数をつくろう
|
ユーザー |
![]() |
提出日時 | 2025-03-20 21:21:07 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 103 ms / 2,000 ms |
コード長 | 735 bytes |
コンパイル時間 | 165 ms |
コンパイル使用メモリ | 82,428 KB |
実行使用メモリ | 80,304 KB |
最終ジャッジ日時 | 2025-03-20 21:22:28 |
合計ジャッジ時間 | 2,658 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 22 |
ソースコード
n = int(input()) total = 2 ** n rows = [] for _ in range(total): parts = list(map(int, input().split())) q_part = parts[:-1] r = parts[-1] rows.append((q_part, r)) relevant = [] for q_part, r in rows: if r == 1: relevant.append(q_part) if not relevant: print("A=⊥") elif len(relevant) == total: print("A=⊤") else: clauses = [] for q in relevant: literals = [] for j in range(n): val = q[j] if val == 1: literals.append(f"P_{j+1}") else: literals.append(f"¬P_{j+1}") clause = "(" + "∧".join(literals) + ")" clauses.append(clause) expr = "∨".join(clauses) print(f"A={expr}")