Submission #211881

#TimeUsernameProblemLanguageResultExecution timeMemory
211881MarcoMeijerVision Program (IOI19_vision)C++14
0 / 100
25 ms2300 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; //macros typedef long long ll; typedef pair<int, int> ii; typedef tuple<int, int, int> iii; typedef vector<int> vi; typedef vector<ii> vii; typedef vector<iii> viii; typedef vector<ll> vll; #define REP(a,b,c) for(int a=int(b); a<int(c); a++) #define RE(a,c) REP(a,0,c) #define RE1(a,c) REP(a,1,c+1) #define REI(a,b,c) REP(a,b,c+1) #define REV(a,b,c) for(int a=int(c-1); a>=int(b); a--) #define INF 1e9 #define pb push_back #define fi first #define se second mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int MX=500; int h, w, k; int getPos(int x, int y) { return x+y*w; } void construct_network(int H, int W, int K) { h=H, w=W, k=K; vi diagonal[2]; vi diagonalXOR[2]; vi ans; RE(i,w+h-1) { int x=i, y=0; if(x>=w) { y=x-w+1; x=w-1; } vi f; while(x>=0 && y<h) { f.pb(getPos(x,y)); x--; y++; } diagonal[0].pb(add_or(f)); diagonalXOR[0].pb(add_xor(f)); } RE(i,w+h-1) { int x=0, y=h-i-1; if(y<0) { x=-y; y=0; } vi f; while(x<w && y<h) { f.pb(getPos(x,y)); x++; y++; } diagonal[1].pb(add_or(f)); diagonalXOR[1].pb(add_xor(f)); } RE(i,2) { vi f; vi distK; RE(j,diagonal[i].size()-k) { vi g; g.pb(diagonal[i][j]); g.pb(diagonal[i][j+k]); distK.pb(add_and(g)); } f.pb(add_or(distK)); vi distLessK; RE(j,diagonalXOR[!i].size()) distLessK.pb(diagonalXOR[!i][j]); RE(j,diagonal[!i].size()-k) { vi g; RE(l,k+1) { g.pb(diagonal[!i][j+l]); } int _xor=add_xor(g); int _or =add_or(g); g.clear(); g.pb(add_not(_xor)); g.pb(_or); f.pb(add_and(g)); } f.pb(add_or(distLessK)); ans.pb(add_and(f)); } add_or(ans); }
#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...