제출 #1154701

#제출 시각아이디문제언어결과실행 시간메모리
1154701weakweakweakVision Program (IOI19_vision)C++20
0 / 100
44 ms7704 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K) { vector<int> prime = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; vector<int> chp; for (int p : prime) { if (K % p) { if (chp.size() < 4) chp.push_back(p); } } int id = H*W-1; vector<int> chpid; for (int p : chp) { vector<int> rs[30], rs2[30]; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { rs[(i+j) % p] . push_back(i*W + j); rs2[((j-i)%p+p)%p]. push_back(i*W + j); } } int r = K % p; vector<int> ids; for (int t = 0; t < 2; t++) { for (int r1 = 0; r1 < p-1; r1++) { int r2 = (r1 + r) %p, r3 = (r1 - r+p) %p; // if (r2 >= p) continue; if (rs[r1].empty() or (rs[r2].empty() and rs[r3].empty())) continue; auto tmp = rs[r2]; tmp.insert(tmp.end(), rs[r3].begin(), rs[r3].end()); add_or(rs[r1]); id++; add_or(tmp); id++; add_and({id-1, id});id++; ids.push_back(id); } swap(rs, rs2); } if (ids.empty()) continue; add_or(ids); id++; chpid.push_back(id); } // cout << id << '\n'; add_and(chpid); }
#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...