結果

問題 No.792 真理関数をつくろう
ユーザー ngtkana
提出日時 2020-02-26 09:20:11
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 11 ms / 2,000 ms
コード長 911 bytes
コンパイル時間 1,599 ms
コンパイル使用メモリ 171,992 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-13 15:08:12
合計ジャッジ時間 2,489 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using longlong=long long;

int main(){
    std::cin.tie(nullptr);std::cin.sync_with_stdio(false);
    int n;std::cin>>n;
    int N=1<<n;
    std::vector<std::vector<int>>a;
    for(int i=0;i<N;i++){
        a.emplace_back(n);
        for(int j=0;j<n;j++){
            std::cin>>a.back().at(j);
        }
        int b;std::cin>>b;
        if(!b)a.pop_back();
    }
    std::cout<<"A=";
    if(a.empty()){
        std::cout<<"⊥"<<std::endl;
        return 0;
    }
    if((int)a.size()==N){
        std::cout<<"⊤"<<std::endl;
        return 0;
    }
    for(int i=0;i<(int)a.size();i++){
        if(0<i)std::cout<<"∨";
        std::cout<<"(";
        for(int j=0;j<n;j++){
            if(0<j)std::cout<<"∧";
            if(!a.at(i).at(j))std::cout<<"¬";
            std::cout<<"P_";
            std::cout<<j+1;
        }
        std::cout<<")";
    }
    std::cout<<std::endl;
}
0