結果
問題 | No.792 真理関数をつくろう |
ユーザー |
|
提出日時 | 2019-02-22 22:03:16 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 11 ms / 2,000 ms |
コード長 | 1,106 bytes |
コンパイル時間 | 636 ms |
コンパイル使用メモリ | 71,864 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 08:28:43 |
合計ジャッジ時間 | 1,522 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 22 |
ソースコード
#include<iostream> #include<string> #include<iomanip> #include<cmath> #include<vector> #include<algorithm> using namespace std; #define int long long #define rep(i,n) for(int i = 0; i < (n); i++) #define INF ((long long)1e18) #define MOD ((int)1e9+7) #define endl "\n" #define yn(f) ((f)?"Yes":"No") #define YN(f) ((f)?"YES":"NO") #define MAX 8000 int Q[MAX][20]; int R[MAX]; signed main(){ cin.tie(0); ios::sync_with_stdio(false); cout<<fixed<<setprecision(10); int N; bool f1 = false, f2 = true; cin>>N; for(int i = 1; i <= (1<<N); i++){ for(int j = 1; j <= N; j++){ cin>>Q[i][j]; } cin>>R[i]; // cout<<i<<" "<<R[i]<<endl; if(!R[i]) f1 = true; if(R[i]) f2 = false; } if(f1 == false){ cout<<"A=⊤"<<endl; } else if(f2 == true){ cout<<"A=⊥"<<endl; } else { cout<<"A="; for(int i = 1, con = 0; i <= (1<<N); i++){ if(R[i] == false) continue; if(con++){ cout<<"∨"; } cout<<"("; for(int j = 1; j <= N; j++){ if(j-1)cout<<"∧"; if(!Q[i][j])cout<<"¬"; cout<<"P_"<<j; } cout<<")"; } cout<<endl; } return 0; }