Submission #295267

#TimeUsernameProblemLanguageResultExecution timeMemory
295267amiratouSaveit (IOI10_saveit)C++14
50 / 100
292 ms13808 KiB
#include "grader.h" #include "encoder.h" #include <bits/stdc++.h> using namespace std; const int INF = (int)(1e9); int d[1005]; vector<int> vec[1005]; void encode(int nv, int nh, int ne, int *v1, int *v2){ for (int i = 0; i < ne; ++i) { vec[v1[i]].push_back(v2[i]); vec[v2[i]].push_back(v1[i]); } for (int i = 0; i < nh; ++i) { for (int j = 0; j < nv; ++j)d[j]=INF; queue<int> q; q.push(i); d[i]=0; while(!q.empty()){ int f=q.front(); q.pop(); for(auto it:vec[f]) if(d[it]==INF){ d[it]=d[f]+1; q.push(it); } } for (int j = i+1; j < nv; ++j) { assert(d[j]!=INF); for (int z = 0; z < 10; ++z) encode_bit((d[j]>>z)&1); } } }
#include "grader.h" #include "decoder.h" #include <bits/stdc++.h> using namespace std; void decode(int nv, int nh) { for (int i = 0; i < nh; ++i) { hops(i,i,0); for (int j = i+1; j < nv; ++j) { int d=0; for (int z = 0; z < 10; ++z) d+=(1<<z)*decode_bit(); hops(i,j,d); if(j<nh)hops(j,i,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...