제출 #581853

#제출 시각아이디문제언어결과실행 시간메모리
581853Mr_HusanboyVision Program (IOI19_vision)C++14
100 / 100
16 ms1736 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; int dist(int i, int j, int a, int b){ return abs(i-a)+abs(j-b); } void construct_network(int n, int m, int d) { vector<int> ones; vector<int> v; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ v.push_back(i*m+j); } ones.push_back(add_xor(v)); v.clear(); v.push_back(ones.back()); }v.clear(); for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ v.push_back(j*m+i); } ones.push_back(add_xor(v)); v.clear(); v.push_back(ones.back()); } int sz=ones.size(); int LOG=0; while(sz){ sz/=2; LOG++; } vector<int> num(LOG); for(int i=0;i<LOG;i++){ num[i]=add_xor(ones); if(!(d&(1<<i))) num[i]=add_not(num[i]); int last=ones.back(); vector<int> temp; for(auto i:ones){ temp.push_back(add_and({last,i})); last=add_xor({last,i}); } ones=temp; } add_and(num); return; }
#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...