結果

問題 No.792 真理関数をつくろう
ユーザー tsunabit
提出日時 2019-07-12 21:59:56
言語 Java8
(openjdk 1.8.0.222)
結果
AC  
実行時間 322 ms
コード長 1,411 Byte
コンパイル時間 2,736 ms
使用メモリ 40,804 KB
最終ジャッジ日時 2019-10-10 02:48:04

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
5_gen_case1.txt AC 136 ms
32,440 KB
5_gen_case2.txt AC 182 ms
36,068 KB
5_gen_case3.txt AC 132 ms
31,008 KB
5_gen_case4.txt AC 192 ms
35,952 KB
5_gen_case5.txt AC 127 ms
30,152 KB
5_gen_case6.txt AC 201 ms
36,000 KB
5_gen_case7.txt AC 312 ms
37,740 KB
5_gen_case8.txt AC 167 ms
34,620 KB
5_gen_case9.txt AC 130 ms
32,008 KB
5_gen_case10.txt AC 131 ms
32,636 KB
5_gen_case11.txt AC 131 ms
31,832 KB
5_gen_case12.txt AC 129 ms
31,820 KB
5_gen_case13.txt AC 150 ms
31,040 KB
5_gen_case14.txt AC 129 ms
31,828 KB
5_gen_case15.txt AC 129 ms
32,072 KB
5_gen_case16.txt AC 162 ms
32,120 KB
5_gen_case17.txt AC 231 ms
36,612 KB
5_gen_case18.txt AC 148 ms
32,640 KB
5_gen_case19.txt AC 128 ms
31,824 KB
5_gen_case20.txt AC 130 ms
31,828 KB
handmade1.txt AC 283 ms
36,820 KB
handmade2.txt AC 322 ms
40,804 KB
sample1.txt AC 128 ms
31,876 KB
sample2.txt AC 129 ms
31,820 KB
sample3.txt AC 128 ms
32,440 KB
sample4.txt AC 132 ms
32,152 KB
テストケース一括ダウンロード

ソースコード

diff #
import java.util.*;
import java.io.*;
import java.math.*;

public class No792 {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int n = sc.nextInt();
//    	String o = "A=";
    	StringBuilder sb = new StringBuilder();
    	sb.append("A=");
    	int[][] q = new int[(int)Math.pow(2, n)][n+1];
    	int c = 0;
    	// ∧∨¬⊥⊤
    	for(int i = 0; i < Math.pow(2, n); i++) {
    		for(int j = 0; j < n + 1; j++) {
    			q[i][j] = sc.nextInt();
    		}
    	}
    	
    	for(int i = 0; i < Math.pow(2, n); i++) {
    		if(q[i][n] == 1) {
    			c++;
//    			o += "(";
    			sb.append("(");
    			for(int j = 0; j < n; j++) {
//    				if(q[i][j] == 1)  o += "P_" + (j+1) + "∧";
    				if(q[i][j] == 1)  sb.append("P_" + (j+1) + "∧");
//    				else o += "¬P_" + (j+1) + "∧";
    				else sb.append("¬P_" + (j+1) + "∧");
        		}
//    			o += ")";
    			sb.append(")");
    			
    		}
    	}
    	if(c == 0) {
    		System.out.println("A=⊥");
    	}else if(c == (int)Math.pow(2, n)) {
    		System.out.println("A=⊤");
    	}else {
    		String str = "";
//    		        o = o.replaceAll("∧\\)\\(", "\\)∨\\(");
    		str = sb.toString().replaceAll("∧\\)\\(", "\\)∨\\(");
//        	        o = o.replaceAll("∧\\)", "\\)");
        	str = str.toString().replaceAll("∧\\)", "\\)");
        	System.out.println(str);
    	}
    }
}
0