Submission #1144505

#TimeUsernameProblemLanguageResultExecution timeMemory
1144505SulASaveit (IOI10_saveit)C++20
50 / 100
75 ms7488 KiB
#include "grader.h" #include "encoder.h" #include <queue> #include <vector> using namespace std; vector<int> adj[1000]; int dist[1000]; void bfs(int s) { fill(dist, dist + 1000, -1); dist[s] = 0; queue<int> q; q.push(s); while (!q.empty()) { int u = q.front(); q.pop(); for (int v : adj[u]) if (dist[v] == -1) { dist[v] = dist[u] + 1; q.push(v); } } } void encode(int n, int h, int m, int *u, int *v){ for (int i = 0; i < m; i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } for (int i = 0; i < h; i++) { bfs(i); for (int j = 0; j < n; j++) { for (int b = 0; b < 10; b++) { encode_bit((dist[j] >> b) & 1); } } } }
#include "grader.h" #include "decoder.h" #include <iostream> void decode(int n, int h) { for (int i = 0; i < h; i++) { for (int j = 0; j < n; j++) { int dis = 0; for (int b = 0; b < 10; b++) dis |= decode_bit() << b; // std::cout<<i<<' '<<j<<' '<<dis<<'\n'; hops(i, j, dis); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...