Submission #583310

#TimeUsernameProblemLanguageResultExecution timeMemory
583310M_W저장 (Saveit) (IOI10_saveit)C++17
50 / 100
336 ms12520 KiB
#include <bits/stdc++.h> #include "encoder.h" #include "grader.h" #define ii pair<int, int> using namespace std; void encode(int nv, int nh, int ne, int *v1, int *v2){ vector<int> adj[1001]; for(int i = 0; i < ne; i++){ adj[v1[i]].push_back(v2[i]); adj[v2[i]].push_back(v1[i]); } int dist[36][1001]; bool vis[1001]; for(int i = 0; i < nh; i++){ memset(vis, 0, sizeof vis); queue<ii> q; q.push({i, 0}); vis[i] = true; while(!q.empty()){ auto [n, w] = q.front(); q.pop(); dist[i][n] = w; for(auto x : adj[n]){ if(vis[x]) continue; vis[x] = true; q.push({x, w + 1}); } } } for(int i = 0; i < nh; i++){ for(int j = 0; j < nv; j++){ for(int k = 0; k < 10; k++){ if(dist[i][j] & (1 << k)) encode_bit(1); else encode_bit(0); } } } return; }
#include <bits/stdc++.h> #include "decoder.h" #include "grader.h" #define ii pair<int, int> using namespace std; void decode(int nv, int nh) { for(int i = 0; i < nh; i++){ for(int j = 0; j < nv; j++){ int ans = 0; for(int k = 0; k < 10; k++){ if(decode_bit()) ans += (1 << k); } hops(i, j, ans); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...