Submission #1091868

#TimeUsernameProblemLanguageResultExecution timeMemory
1091868_8_8_Super Dango Maker (JOI22_dango3)C++17
100 / 100
1721 ms860 KiB
#include "dango3.h" #include <bits/stdc++.h> #include <vector> using namespace std; int n, m; const int N = 401; bool bad[N * 26]; int B = -1, timer, vis[N * 26]; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); typedef long long ll; int qr(vector<int> &f) { vector<int> t; ++timer; for(int i:f) { vis[i] = timer; } for(int i = 1; i <= n * m; i++) { if(vis[i] != timer) { t.push_back(i); } } return m - Query(t); } vector<int> res[26]; void Solve(int _n, int _m) { n = _n, m = _m; vector<int> f, bf; for(int i = 1; i <= n * m; i++) { f.push_back(i); } shuffle(f.begin(), f.end(), rng); for(int i:f) { vector<int> o(m); iota(o.begin(), o.end(), 1); shuffle(o.begin(), o.end(), rng); for(int j:o) { if((int)res[j].size() == n) continue; res[j].push_back(i); if(qr(res[j]) <= 1) { break; } res[j].pop_back(); } } for(int i = 1; i <= m; i++) { Answer(res[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...