Submission #422694

#TimeUsernameProblemLanguageResultExecution timeMemory
422694SSRSVision Program (IOI19_vision)C++14
41 / 100
2 ms968 KiB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
void construct_network(int H, int W, int K){
  int cnt = H * W;
  vector<int> A;
  if (max(H, W) <= 30 || min(H, W) == 1){
    for (int x1 = 0; x1 < H; x1++){
      for (int y1 = 0; y1 < W; y1++){
        for (int x2 = 0; x2 < H; x2++){
          for (int y2 = 0; y2 < W; y2++){
            if (abs(x2 - x1) + abs(y2 - y1) == K){
              int a = x1 * W + y1;
              int b = x2 * W + y2;
              if (a < b){
                vector<int> id = {a, b};
                add_and(id);
                cnt++;
              }
            }
          }
        }
      }
    }
  } else {
    for (int x = 0; x < H; x++){
      for (int y = 0; y < W; y++){
        if (x + y == K){
          int a = x * W + y;
          vector<int> id = {0, a};
          add_and(id);
          cnt++;
        }
      }
    }
  }
  vector<int> id;
  for (int i = H * W; i < cnt; i++){
    id.push_back(i);
  }
  add_or(id);
}
#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...