Submission #442144

#TimeUsernameProblemLanguageResultExecution timeMemory
442144peijarVision Program (IOI19_vision)C++17
33 / 100
5 ms1096 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;

void construct_network(int nbLig, int nbCol, int K) {

  vector<int> aAjouter;
  for (int iLig = 0; iLig < nbLig; ++iLig)
    for (int iCol = 0; iCol < nbCol; ++iCol)
      for (int deltaLig = 0; deltaLig <= K; ++deltaLig) {
        int pos1 = iLig * nbCol + iCol;
        int deltaCol = K - deltaLig;
        if (iLig + deltaLig >= nbLig)
          break;
        if (iCol + deltaCol < nbCol) {
          int pos2 = (iLig + deltaLig) * nbCol + iCol + deltaCol;
          aAjouter.push_back(add_and({pos1, pos2}));
        }
        if (deltaCol and deltaLig and iCol - deltaCol >= 0) {
          int pos2 = (iLig + deltaLig) * nbCol + iCol - deltaCol;
          aAjouter.push_back(add_and({pos1, pos2}));
        }
      }
  add_or(aAjouter);

  /*std::vector<int> Ns;
  Ns = {0, 1};
  int a = add_and(Ns);
  Ns = {0, a};
  int b = add_or(Ns);
  Ns = {0, 1, b};
  int c = add_xor(Ns);
  add_not(c);*/
}
#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...