Submission #1041878

#TimeUsernameProblemLanguageResultExecution timeMemory
1041878Dan4LifeVision Program (IOI19_vision)C++17
33 / 100
174 ms1240 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define sz(a) (int)a.size() #define all(a) begin(a),end(a) using ll = long long; using vi = vector<int>; using ar2 = array<int,2>; const int mxN = 205; int n, m; vi diag[2][mxN*2]; // CHATGPT GO BRRRR void construct_network(int H, int W, int K) { int num_pixels = H * W; // Step 1: Identify all black pixels // We need to compare every pair of black pixels (since there are only two black pixels) int result = -1; for (int i = 0; i < num_pixels; ++i) { for (int j = i + 1; j < num_pixels; ++j) { // Compute row and column differences int row_diff = abs((i / W) - (j / W)); int col_diff = abs((i % W) - (j % W)); // Check if the sum of differences equals K if (row_diff + col_diff == K) { // AND operation to check if both pixels i and j are black int black_pair = add_and({i, j}); // If this is the first result, store it directly if (result == -1) { result = black_pair; } else { // Otherwise, combine with previous results using OR result = add_or({result, black_pair}); } } } } // Step 2: The final result should indicate whether any pair of black pixels has the distance K // If no pairs were found, ensure the result is set to 0 (false) if (result == -1) { int false_result = add_not(0); // NOT 0 will give 1, then NOT 1 will give 0 (false) result = add_not(false_result); } }
#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...