結果
| 問題 |
No.792 真理関数をつくろう
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-26 17:49:01 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,359 bytes |
| コンパイル時間 | 3,375 ms |
| コンパイル使用メモリ | 78,464 KB |
| 実行使用メモリ | 59,772 KB |
| 最終ジャッジ日時 | 2024-11-24 17:15:51 |
| 合計ジャッジ時間 | 8,756 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 2 |
| other | AC * 22 |
ソースコード
import java.io.*;
import java.util.Scanner;
public class Main_yukicoder792 {
private static Scanner sc;
private static Printer pr;
private static void solve() {
int n = sc.nextInt();
int n2 = 0x1 << n;
boolean[][] q = new boolean[n2][n];
boolean[] r = new boolean[n2];
for (int i = 0; i < n2; i++) {
for (int j = 0; j < n; j++) {
q[i][j] = sc.next().equals("1");
}
r[i] = sc.next().equals("1");
}
StringBuilder sb = new StringBuilder();
int cnt = 0;
for (int i = 0; i < n2; i++) {
if (r[i]) {
cnt++;
if (sb.length() > 0) {
sb.append("∨");
}
StringBuilder qq = new StringBuilder();
qq.append('(');
for (int j = 0; j < n; j++) {
if (j > 0) {
qq.append("∧");
}
if (!q[i][j]) {
qq.append("¬");
}
qq.append("P_");
qq.append(j + 1);
}
qq.append(')');
sb.append(qq);
}
}
if (cnt == 0) {
pr.println("⊥");
} else if (cnt == n2) {
pr.println("⊤");
} else {
pr.printf("A=%s%n", sb.toString());
}
}
// ---------------------------------------------------
public static void main(String[] args) {
sc = new Scanner(System.in);
pr = new Printer(System.out);
solve();
pr.close();
sc.close();
}
static class Printer extends PrintWriter {
Printer(OutputStream out) {
super(out);
}
}
}