Submission #251902

#TimeUsernameProblemLanguageResultExecution timeMemory
251902tqbfjotldOn the Grid (FXCUP4_grid)C++17
0 / 100
1 ms384 KiB
#include "grid.h" #include <bits/stdc++.h> using namespace std; int n; int pos[1005]; ///position of size i int ans[1005]; vector<int> confirmed; int wrap(vector<int> v){ for (int x = confirmed.size()-1; x>=0; x--){ v.push_back(confirmed[x]); } vector<int> newv; for (auto x : v){ newv.push_back(x-1); } int res = PutDisks(newv); return res-confirmed.size(); } vector<int> SortDisks(int N) { n = N; for (int x = N; x>0; x--){ vector<int> qu; vector<int> rem; for (int y = 1; y<=N; y++){ if (ans[y]!=0) continue; qu.push_back(y); rem.push_back(y); } int res = wrap(qu); int num = res - x; qu.clear(); for (int y = x-num; y<=x; y++){ qu.push_back(rem[y-1]); } for (int y = 1; y<x-num; y++){ qu.push_back(rem[y-1]); } //printf("num = %d\n",num); res = wrap(qu); res -= (x-num-1); res -= x; pos[x] = rem[x-res-1]; ans[rem[x-res-1]] = x; confirmed.push_back(rem[x-res-1]); //printf("confirmed %d\n",rem[x-res-1]); } vector<int> ans2; for (int x = 1; x<=n; x++){ ans2.push_back(ans[x]); } return ans2; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...