제출 #1079205

#제출 시각아이디문제언어결과실행 시간메모리
1079205juicyVision Program (IOI19_vision)C++17
100 / 100
52 ms7556 KiB
#include "vision.h"

#include <bits/stdc++.h>

using namespace std;

void construct_network(int n, int m, int k) {
  auto check = [&](int l) {
    if (l > n + m - 2) {
      return add_xor({0, 0});
    }
    vector<array<vector<int>, 2>> a(n + m - 1);
    for (int i = 0; i < n; ++i) { 
      for (int j = 0; j < m; ++j) {
        a[i + j][0].push_back(i * m + j);
        a[i - j + m - 1][1].push_back(i * m + j);
      }
    }
    vector<int> cands;
    array<vector<int>, 2> A;
    for (int i = l; i <= n + m - 2; ++i) {
      for (auto j : {0, 1}) {
        A[j].push_back(add_or(a[i - l][j]));
        cands.push_back(add_and({add_or(A[j]), add_or(a[i][j])}));
      }
    }
    return add_or(cands);
  };
  add_and({check(k), add_not(check(k + 1))});
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...