답안 #708691

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
708691 2023-03-12T07:53:26 Z ntdxl05 Ancient Machine (JOI21_ancient_machine) C++17
0 / 100
43 ms 2560 KB
#include <bits/stdc++.h>
#include "Anna.h"
#include <vector>
using namespace std;

namespace {

const int dc[] = {'X', 'Y', 'Z'};
int idc[256];

int variable_example = 0;

}

void Anna(int N, std::vector<char> S) {
  for (int i = 0; i < 3; i++) idc[dc[i]] = i;
  if (N <= 18) {
    for (int i = 0; i < N; i++) {
      Send(idc[S[i]] >> i & 1);
      Send(idc[S[i]] & 1);
    }
    return ;
  }
}
#include <bits/stdc++.h>
#include "Bruno.h"
#include <vector>

using namespace std;

namespace {

const int dc[] = {'X', 'Y', 'Z'};
int idc[256];
int variable_example = 0;

const int inf = 1e9;

int FunctionExample(int P) { return 1 - P; }

template<class U, class V>
bool minz(U &a, V b) {
  if (a > b) return a = b, 1;
  return 0;
}
template<class U, class V>
bool maxz(U &a, V b) {
  if (a < b) return a = b, 1;
  return 0;
}

}  // namespace

void Bruno(int N, int L, std::vector<int> A) {
  for (int i = 0; i < L; i++) {
    variable_example += FunctionExample(A[i]);
  }

  vector<char> S(N);
  for (int i = 0; i < N; i++) S[i] = dc[A[i << 1] << 1 | A[i << 1 | 1]];
  vector<int> dp(1 << N), trc(1 << N);
  dp[0] = 0;
  for (int msk = 0; msk < (1 << N) - 1; msk++) {
    vector<int> b(N);
    for (int i = 0; i < N; i++) b[i] = msk >> i & 1;
    for (int i = 0; i < N; i++) {
      if (b[i]) continue;
      int l = i - 1, r = i + 1;
      for (; ~l && !b[l]; l--);
      for (; r < N && !b[r]; r++);
      bool e = ~l && r < N && S[i] == 'Y' && S[l] == 'X' && S[r] == 'Z';
      if (maxz(dp[msk | 1 << i], dp[msk] + e)) trc[msk | 1 << i] = i;
    }
  }

  int cr = (1 << N) - 1;
  while (cr) {
    auto &t = trc[cr];
    Remove(t);
    cr ^= 1 << t;
  }
}

Compilation message

Anna.cpp: In function 'void Anna(int, std::vector<char>)':
Anna.cpp:19:20: warning: array subscript has type 'char' [-Wchar-subscripts]
   19 |       Send(idc[S[i]] >> i & 1);
      |                    ^
Anna.cpp:20:20: warning: array subscript has type 'char' [-Wchar-subscripts]
   20 |       Send(idc[S[i]] & 1);
      |                    ^
Anna.cpp: At global scope:
Anna.cpp:11:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
   11 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~

Bruno.cpp:10:5: warning: '{anonymous}::idc' defined but not used [-Wunused-variable]
   10 | int idc[256];
      |     ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 43 ms 2560 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 8 ms 1468 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -