제출 #565089

#제출 시각아이디문제언어결과실행 시간메모리
565089AbdullahMW저장 (Saveit) (IOI10_saveit)C++14
50 / 100
340 ms12556 KiB
#include <bits/stdc++.h> #include "grader.h" #include "encoder.h" #define newl "\n" #define ll int #define pb push_back #define f first #define s second using namespace std; vector <ll> gr[1005]; vector <pair <ll, ll>> bfs(ll xx) { vector <pair <ll, ll>> ret; queue <ll> q; unordered_map <ll, bool> vis; unordered_map <ll, ll> dist; q.push(xx); ret.pb({xx, 0}); vis[xx] = true; while (q.size()) { ll x = q.front(); q.pop(); for (auto v : gr[x]) { if (!vis[v]) { q.push(v); vis[v] = true; dist[v] = dist[x] + 1; ret.pb({v, dist[v]}); } } } return ret; } void encode(ll n, ll h, ll p, ll a[], ll b[]) { for (ll i = 0; i < 1000; i++) { if (gr[i].size()) gr[i].clear(); } for (ll i = 0; i < p; i++) { gr[a[i]].pb(b[i]); gr[b[i]].pb(a[i]); } for (ll i = 0; i < h; i++) { vector <pair <ll, ll>> vec = bfs(i); sort(vec.begin(), vec.end()); //cout << "HUB: " << i << " "; for (auto v : vec) { //cout << "City: " << v.f; //cout << " Dist: "; //cout << v.s; for (ll bit = 0; bit < 10; bit++) { bool b = (1 << bit) & v.s; //cout << bit; encode_bit(b); } //cout << " "; } //cout << newl; } } /*int main() { ll a[] = {0, 0, 0, 0, 1, 1, 1}; ll b[] = {1, 2, 3, 4, 2, 3, 4}; ll n = 5, h = 3, p = 7; encode(n, h, p, a, b); }*/
#include <bits/stdc++.h> #include "grader.h" #include "encoder.h" #define ll int #define pb push_back #define f first #define s second using namespace std; void decode(ll n, ll h) { for (ll i = 0; i < h; i++) { for (ll j = 0; j < n; j++) { ll d = 0; for (ll bit = 0; bit < 10; bit++) { bool b = decode_bit(); if (b) d += (1 << bit); } hops(i, j, d); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...