# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1015072 | 2024-07-06T04:30:08 Z | salmon | Mouse (info1cup19_mouse) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "grader.h" using namespace std; int N; vector<int> v; void cycle(int j){ int num = v[j]; for(int i = j; i < N - 1; i++){ v[i] = v[i + 1]; } v[N - 1] = num; } void solve(int N){ ::N = N; for(int i = 1; i <= N; i++){ v.push_back(i); } set<int> used; for(int i = 0; i < N; i++){ for(int j = 1; j <= N; j++){ if(used.find(j) != used.end()){ v[i] = j; int cont = i + 1; for(int i = 1; i <= N; i++){ if(i != j && used.find(i) != used.end()){ v[cont] = i; cont++; } } int soom = 0; for(int i = 0; i < N - j - 1; i++){ cycle(j + 1); int b = query(v); if(b == N) return; soom += b; } soom %= N; if(soom === 0){ used.insert(j); break; } } } } }