제출 #1227703

#제출 시각아이디문제언어결과실행 시간메모리
1227703Hamed_GhaffariVision Program (IOI19_vision)C++20
100 / 100
28 ms5368 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { vector<int> d1, d2; int x=H-1, y=0; vector<int> vh1, vh2; while(y<W) { vector<int> vec; for(int i=x, j=y; i<H && j<W; i++, j++) vec.push_back(i*W+j); d1.push_back(add_or(vec)); vh1.push_back(add_xor({d1.back(), add_xor(vec)})); x==0 ? (y++) : (x--); } x=0, y=0; while(x<H) { vector<int> vec; for(int i=x, j=y; i<H && j>=0; i++, j--) vec.push_back(i*W+j); d2.push_back(add_or(vec)); vh2.push_back(add_xor({d2.back(), add_xor(vec)})); y==W-1 ? (x++) : (y++); } int h1=add_or(vh1), h2=add_or(vh2); vector<int> vals1 = {h1}, vals2 = {h2}; for(int i=0; i+K-1<d1.size(); i++) { vector<int> vec; for(int j=i; j<=i+K-1; j++) vec.push_back(d1[j]); vals1.push_back(add_xor({add_or(vec), add_xor(vec)})); } for(int i=0; i+K-1<d2.size(); i++) { vector<int> vec; for(int j=i; j<=i+K-1; j++) vec.push_back(d2[j]); vals2.push_back(add_xor({add_or(vec), add_xor(vec)})); } int tmp1 = add_or(vals1), tmp2 = add_or(vals2); int val1 = add_xor({add_or({tmp1, tmp2}), add_xor({tmp1, tmp2})}); vals1 = {h1}, vals2 = {h2}; for(int i=0; i+K<d1.size(); i++) { vector<int> vec; for(int j=i; j<=i+K; j++) vec.push_back(d1[j]); vals1.push_back(add_xor({add_or(vec), add_xor(vec)})); } for(int i=0; i+K<d2.size(); i++) { vector<int> vec; for(int j=i; j<=i+K; j++) vec.push_back(d2[j]); vals2.push_back(add_xor({add_or(vec), add_xor(vec)})); } tmp1 = add_or(vals1), tmp2 = add_or(vals2); int val2 = add_xor({add_or({tmp1, tmp2}), add_xor({tmp1, tmp2})}); add_and({add_not(val1), val2}); }
#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...