Submission #617955

#TimeUsernameProblemLanguageResultExecution timeMemory
6179552fat2codeVision Program (IOI19_vision)C++17
100 / 100
19 ms1704 KiB
#include "vision.h" #include <bits/stdc++.h> #define fr first #define sc second //#define int long long #define all(s) s.begin(), s.end() #define rc(s) return cout << s, 0 using namespace std; vector <int> bit_pos, tz; void construct_network(int H, int W, int K) { for(int i=0;i<H;i++){ for(int j=0;j<W;j++){ tz.push_back(i * W + j); } bit_pos.push_back(add_xor(tz)); tz = {bit_pos.back()}; } tz.clear(); for(int i=0;i<W;i++){ for(int j=0;j<H;j++){ tz.push_back(j * W + i); } bit_pos.push_back(add_xor(tz)); tz = {bit_pos.back()}; } vector <int> ans; for(int i=0;i<=8;i++){ if(K & (1 << i)){ ans.push_back(add_xor(bit_pos)); } else{ ans.push_back(add_not(add_xor(bit_pos))); } tz.clear(); int last = bit_pos.back(); for(auto it : bit_pos){ tz.push_back(add_and({it, last})); last = add_xor({it, last}); } bit_pos = tz; } add_and(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...