結果
| 問題 | No.792 真理関数をつくろう | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2020-12-20 10:37:54 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                RE
                                 
                             | 
| 実行時間 | - | 
| コード長 | 1,557 bytes | 
| コンパイル時間 | 1,908 ms | 
| コンパイル使用メモリ | 176,336 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-09-21 11:35:37 | 
| 合計ジャッジ時間 | 5,614 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 WA * 1 RE * 1 | 
| other | AC * 1 WA * 5 RE * 16 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
using i8 = int8_t;using i16 = int16_t;using i32 = int32_t;using i64 = int64_t;using i128 = __int128_t;using u8 = uint8_t;using u16 = uint16_t;using u32 = uint32_t;using u64 = uint64_t;using u128 = __uint128_t;using f32 = float;using f64 = double;using f80 = long double;
using vi32 = vector<i32>;using vi64 = vector<i64>;using vu32 = vector<u32>;using vu64 = vector<u64>;
using vvi32 = vector<vector<int32_t>>;using vvi64 = vector<vector<int64_t>>;using vvu32 = vector<vector<uint32_t>>;using vvu64 = vector<vector<uint64_t>>;
using pi32 = pair<i32,i32>;using pi64 = pair<i64,i64>;using pu32 = pair<u32,u32>;using pu64 = pair<u64,u64>;
using vpi32 = vector<pi32>;using vpi64 = vector<pi64>;using vpu32 = vector<pu32>;using vpu64 = vector<pu64>;
const i64 Mod = 1e9+7;
int main() {
  int n;
  cin >> n;
  vector <string> res;
  vi32 q(n);
  i32 r;
  for (int i = 0; i < (1 << n); i++) {
    for (int j = 0; j < n; j++) cin >> q[i];
    cin >> r;
    if (r == 1) {
      string expr = "";
      for (int j = 0; j < n; j++) {
        if (j) expr += "∧";
        if (q[j] == 0) expr += "¬P_" + to_string(i + 1);
        else expr += "P_" + to_string(i + 1);
      }
      res.push_back(expr);
    }
  }
  if (res.size() == 0) cout << "A=⊥" << endl;
  else if (res.size() == (1 << n)) cout << "A=⊤" << endl;
  else {
    int m = res.size();
    string ans = "A=";
    for (int i = 0; i < m; i++) {
      if (i) ans += "∨";
      ans += "(" + res[i] + ")";
    }
    cout << ans << endl;
  }
  return 0;
}
            
            
            
        