제출 #1195246

#제출 시각아이디문제언어결과실행 시간메모리
1195246DeathIsAweVision Program (IOI19_vision)C++20
0 / 100
1 ms964 KiB
#include "vision.h" #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define ff first #define ss second #define ll long long using namespace std; int h, w, k; int ctn(pair<int,int> coords) { return coords.ff + h * coords.ss; } bool isoob(pair<int,int> coords) { if (coords.ff < 0 || coords.ss < 0 || coords.ff >= w || coords.ss >= h) { return true; } return false; } void construct_network(int H, int W, int K) { h = H; w = W; k = K; pair<int,int> curpixel; vector<int> Ns, finalNs; int insnum = 0; for (int i=0;i<w;i++) { for (int j=0;j<h;j++) { curpixel.ff = i; curpixel.ss = j; Ns.clear(); if (!isoob(mp(curpixel.ff, curpixel.ss - k))) {Ns.pb(ctn(mp(curpixel.ff, curpixel.ss - k)));} if (!isoob(mp(curpixel.ff, curpixel.ss + k))) {Ns.pb(ctn(mp(curpixel.ff, curpixel.ss + k)));} if (!isoob(mp(curpixel.ff - k, curpixel.ss))) {Ns.pb(ctn(mp(curpixel.ff - k, curpixel.ss)));} if (!isoob(mp(curpixel.ff + k, curpixel.ss))) {Ns.pb(ctn(mp(curpixel.ff + k, curpixel.ss)));} for (int i=1;i<k-1;i++) { if (!isoob(mp(curpixel.ff - i, curpixel.ss - k + i))) {Ns.pb(ctn(mp(curpixel.ff - i, curpixel.ss - k + i)));} if (!isoob(mp(curpixel.ff + i, curpixel.ss - k + i))) {Ns.pb(ctn(mp(curpixel.ff + i, curpixel.ss - k + i)));} if (!isoob(mp(curpixel.ff - i, curpixel.ss + k - i))) {Ns.pb(ctn(mp(curpixel.ff - i, curpixel.ss + k - i)));} if (!isoob(mp(curpixel.ff + i, curpixel.ss + k - i))) {Ns.pb(ctn(mp(curpixel.ff + i, curpixel.ss + k - i)));} } if (Ns.size() == 0) continue; add_or(Ns); Ns.clear(); Ns.pb(ctn(curpixel)); add_or(Ns); Ns.clear(); Ns.pb(h * w + 3 * insnum); Ns.pb(h * w + 3 * insnum + 1); add_and(Ns); finalNs.pb(h * w + 3 * insnum + 2); insnum += 1; } } add_or(finalNs); }
#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...