Submission #418332

#TimeUsernameProblemLanguageResultExecution timeMemory
418332dxz05Vision Program (IOI19_vision)C++14
33 / 100
198 ms1908 KiB
#include "vision.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

void construct_network(int H, int W, int K) {
	vector<int> Ns;

	int last = 0;

	set<vector<int>> asked;

	for (int i = 0; i < H; i++){
	    for (int j = 0; j < W; j++){
	        for (int x = 0; x < H; x++){
	            for (int y = 0; y < W; y++){
	                if (abs(x - i) + abs(y - j) != K) continue;

	                Ns = {i * W + j, x * W + y};
                    if (Ns[0] > Ns[1]) swap(Ns[0], Ns[1]);

                    if (asked.find(Ns) != asked.end()) continue;

	                last = add_and(Ns);
	                asked.insert(Ns);
	            }
	        }
	    }
	}

	Ns.clear();
	for (int i = H * W; i <= last; i++){
	    Ns.push_back(i);
	}

    add_or(Ns);
}
#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...