Submission #843737

#TimeUsernameProblemLanguageResultExecution timeMemory
843737mickey080929Memory 2 (JOI16_memory2)C++14
60 / 100
1 ms348 KiB
#include "Memory2_lib.h" #include <bits/stdc++.h> using namespace std; int ret[110]; int cnt[110]; int chk[110]; int chk2[110]; vector<int> ans[110]; void Solve(int T, int N) { mt19937 gen(3141592); uniform_int_distribution<int> dis(0, 1'000'000'000); int r = 2 * N; int r2 = 2 * N; while (true) { if (r == 2) { int x = -1, y = -1; for (int i=0; i<2*N; i++) { if (!chk[i]) { if (x == -1) x = i; else y = i; } } ans[Flip(x, y)] = {x, y}; break; } assert(r2 >= 1); int idx = dis(gen) % r2; int pv; for (int i=0; i<2*N; i++) { if (!chk2[i]) { if (idx == 0) { pv = i; break; } idx --; } } chk2[pv] = 1; r2 --; for (int i=0; i<N; i++) cnt[i] = 0; for (int i=0; i<2*N; i++) { if (pv == i || chk[i]) continue; ret[i] = Flip(pv, i); cnt[ret[i]] ++; } int cur = -1; for (int i=0; i<N; i++) { if (cnt[i] & 1) { cur = i; break; } } for (int i=0; i<2*N; i++) { if (pv == i || chk[i]) continue; if (ret[i] != cur) { ans[ret[i]].push_back(i); chk[i] = 1; r --; if (!chk2[i]) { chk2[i] = 1; r2 --; } } } } for (int i=0; i<N; i++) { Answer(ans[i][0], ans[i][1], i); } return; }

Compilation message (stderr)

memory2.cpp: In function 'void Solve(int, int)':
memory2.cpp:46:26: warning: 'pv' may be used uninitialized in this function [-Wmaybe-uninitialized]
   46 |             ret[i] = Flip(pv, i);
      |                      ~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...