結果

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

ソースコード

diff #

#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;
  vector<int> q(n);
  int 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(j + 1);
        else expr += "P_" + to_string(j + 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;
}
0