Submission #1295895

#TimeUsernameProblemLanguageResultExecution timeMemory
1295895turbatVision Program (IOI19_vision)C++20
12 / 100
6 ms1600 KiB
#include "vision.h" using namespace std; void construct_network(int H, int W, int K) { vector<int> Ns; int totalDiagnols = H + W - 1; // printf("Total Diagonals: %d\n", totalDiagnols); vector <vector<int>> diagonals(totalDiagnols), crossDiagonals(totalDiagnols); for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { diagonals[i + j].push_back(i * W + j); crossDiagonals[H - 1 - i + j].push_back(i * W + j); } } vector<int> diagXorIndices, crossDiagXorsIndices; for (int d = 0; d < totalDiagnols; d++) { // printf("Diagonal %d: ", d); // for (int idx : diagonals[d]) { // printf("%d ", idx); // } // printf("\n"); diagXorIndices.push_back(add_xor(diagonals[d])); } for (int d = 0; d < totalDiagnols; d++) { // printf("Cross Diagonal %d: ", d); // for (int idx : crossDiagonals[d]) { // printf("%d ", idx); // } // printf("\n"); crossDiagXorsIndices.push_back(add_xor(crossDiagonals[d])); } vector<int> answers; for (int i = 0;i < totalDiagnols - K;i++) { answers.push_back(add_and({ diagXorIndices[i], diagXorIndices[i + K] })); answers.push_back(add_and({ crossDiagXorsIndices[i], crossDiagXorsIndices[i + K] })); } add_or(answers); }
#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...