# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
150002 | 2019-09-01T07:31:51 Z | Outfraware Boat People(#3577, c4big, bsyo2k, cepiloth) | On the Grid (FXCUP4_grid) | C++17 | 0 ms | 0 KB |
#include "grid.h" typedef std::vector<int> VI; bool visit[1001] = { 0, }; VI v; // ģ�� ���� ����� void makeSeq(int N, int start, VI &found) { for (int i = 0, count = 0; count < N; ++count) { int num = (start + count) % N; if (visit[num]) continue; v[i++] = num; } return v; } VI SortDisks(int N) { VI found(N, 0); v = found; int max_h = N + (N - 1); for (int L = N; L >= 1; --L) { for (int i = 0; i < N; ++i) { //VI v = makeSeq(N, i, found, len_friend); makeSeq(N, i, found); int X = PutDisks(v); if (X != max_h) continue; found[v[0]] = L; visit[v[0]] = true; v[L - 1] = v[0]; --max_h; break; } } return found; }