Submission #894907

#TimeUsernameProblemLanguageResultExecution timeMemory
894907sleepntsheepSaveit (IOI10_saveit)C++17
50 / 100
190 ms20868 KiB
#include "grader.h" #include "encoder.h" #include <vector> #include <queue> void send_int(int x, int nb) { for (int j = 0; j < nb; ++j) encode_bit((x >> j) & 1); } #define N 1001 using namespace std; vector<int> g[N]; int n, h; vector<int> bfs(int u) { vector<int> d(n, 1e9); queue<pair<int, int>> q; q.emplace(d[u] = 0, u); while (q.size()) { auto [c, u] = q.front(); q.pop(); for (auto v : g[u]) { if (c + 1 < d[v]) q.emplace(d[v] = c + 1, v); } } return d; } void encode(int n0, int h0, int ne, int *v1, int *v2){ for (int i = 0; i < ne; ++i) g[v1[i]].push_back(v2[i]), g[v2[i]].push_back(v1[i]); ::n = n0; ::h = h0; for (int i = 0; i < h; ++i) { auto d = bfs(i); for (int j = 0; j < n; ++j) send_int(d[j], 10); } return; }
#include "grader.h" #include "decoder.h" unsigned read_int(int nb) { unsigned u = 0; for (int j = 0; j < nb; ++j) u |= decode_bit() << j; return u; } int n, h; void decode(int v0, int h0) { ::n = v0; ::h = h0; for (int i = 0; i < h; ++i) { for (int j = 0; j < n; ++j) { hops(i, j, read_int(10)); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...