結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
5_gen_case1.txt AC 127 ms
32,064 KB
5_gen_case2.txt AC 172 ms
35,576 KB
5_gen_case3.txt AC 118 ms
31,900 KB
5_gen_case4.txt AC 189 ms
36,532 KB
5_gen_case5.txt AC 116 ms
31,900 KB
5_gen_case6.txt AC 185 ms
36,808 KB
5_gen_case7.txt AC 332 ms
38,684 KB
5_gen_case8.txt AC 195 ms
35,032 KB
5_gen_case9.txt AC 121 ms
32,156 KB
5_gen_case10.txt AC 123 ms
32,472 KB
5_gen_case11.txt AC 122 ms
31,900 KB
5_gen_case12.txt AC 119 ms
31,896 KB
5_gen_case13.txt AC 142 ms
31,912 KB
5_gen_case14.txt AC 156 ms
32,732 KB
5_gen_case15.txt AC 133 ms
31,896 KB
5_gen_case16.txt AC 166 ms
32,996 KB
5_gen_case17.txt AC 245 ms
36,612 KB
5_gen_case18.txt AC 139 ms
31,932 KB
5_gen_case19.txt AC 116 ms
30,136 KB
5_gen_case20.txt AC 116 ms
32,048 KB
handmade1.txt AC 270 ms
38,684 KB
handmade2.txt AC 311 ms
40,736 KB
sample1.txt AC 145 ms
31,900 KB
sample2.txt AC 116 ms
31,888 KB
sample3.txt AC 117 ms
31,888 KB
sample4.txt AC 121 ms
32,740 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