Submission #404916

#TimeUsernameProblemLanguageResultExecution timeMemory
404916JasiekstrzSaveit (IOI10_saveit)C++17
50 / 100
329 ms14404 KiB
#include<bits/stdc++.h> #include "grader.h" #include "encoder.h" #define fi first #define se second using namespace std; static const int NN=1e3; static const int EE=NN*NN; static vector<pair<int,int>> e[NN+10]; static bool vis[NN+10]; static bool enc[EE+10]; void send_int(int x) { for(int i=9;i>=0;i--) encode_bit((x&(1<<i))!=0); return; } static void bfs(int x,int n) { for(int i=0;i<n;i++) vis[i]=false; queue<int> qq; vis[x]=true; qq.push(x); while(!qq.empty()) { x=qq.front(); qq.pop(); for(auto v:e[x]) { if(!vis[v.fi]) { vis[v.fi]=true; enc[v.se]=true; qq.push(v.fi); } } } return; } void encode(int nv,int nh,int ne,int *v1,int *v2) { for(int i=0;i<ne;i++) { e[v1[i]].emplace_back(v2[i],i); e[v2[i]].emplace_back(v1[i],i); } for(int i=0;i<nh;i++) bfs(i,nv); for(int i=0;i<nv;i++) { vector<int> tmp; for(auto v:e[i]) { if(enc[v.se]) { tmp.push_back(v.fi); enc[v.se]=false; } } send_int(tmp.size()); for(auto v:tmp) send_int(v); } return; }
#include<bits/stdc++.h> #include "grader.h" #include "decoder.h" #define fi first #define se second using namespace std; static const int NN=1e3; static vector<int> e[NN+10]; static bool vis[NN+10]; int receive_int() { int ans=0; for(int i=0;i<10;i++) ans=(2*ans+decode_bit()); return ans; } static void bfs(int x,int n) { for(int i=0;i<n;i++) vis[i]=false; queue<pair<int,int>> qq; vis[x]=true; qq.push({x,0}); while(!qq.empty()) { auto y=qq.front(); qq.pop(); hops(x,y.fi,y.se); for(auto v:e[y.fi]) { if(!vis[v]) { vis[v]=true; qq.push({v,y.se+1}); } } } return; } void decode(int nv,int nh) { for(int i=0;i<nv;i++) { int d=receive_int(); for(int j=0;j<d;j++) { int b=receive_int(); e[i].push_back(b); e[b].push_back(i); } } for(int i=0;i<nh;i++) bfs(i,nv); return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...