제출 #1195295

#제출 시각아이디문제언어결과실행 시간메모리
1195295DeathIsAweVision Program (IOI19_vision)C++20
44 / 100
11 ms2236 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 + w * coords.ss; } void isoob(pair<int,int> coords, vector<int> &Ns) { if (!(coords.ff < 0 || coords.ss < 0 || coords.ff >= w || coords.ss >= h)) { Ns.pb(ctn(mp(coords.ff, coords.ss))); //cout << coords.ff << ' ' << coords.ss << ' ' << ctn(mp(coords.ff, coords.ss)) << endl; } } 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(); isoob(mp(curpixel.ff, curpixel.ss - k), Ns); isoob(mp(curpixel.ff, curpixel.ss + k), Ns); isoob(mp(curpixel.ff - k, curpixel.ss), Ns); isoob(mp(curpixel.ff + k, curpixel.ss), Ns); for (int l=1;l<k;l++) { isoob(mp(curpixel.ff - l, curpixel.ss - k + l), Ns); isoob(mp(curpixel.ff + l, curpixel.ss - k + l), Ns); isoob(mp(curpixel.ff - l, curpixel.ss + k - l), Ns); isoob(mp(curpixel.ff + l, curpixel.ss + k - l), Ns); } //cout << "FOR " << ctn(curpixel) << ':' << endl; //for (int i: Ns) { // cout << i << ' '; //} //cout << endl; if (Ns.size() == 0) continue; insnum = add_or(Ns); Ns.clear(); Ns.pb(ctn(curpixel)); add_or(Ns); Ns.clear(); Ns.pb(insnum); Ns.pb(insnum + 1); finalNs.pb(add_and(Ns)); } } if (finalNs.size() == 0) { finalNs.pb(0); finalNs.pb(1); finalNs.pb(2); add_and(finalNs); } else { 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...