제출 #565149

#제출 시각아이디문제언어결과실행 시간메모리
565149MrDebooSaveit (IOI10_saveit)C++17
0 / 100
239 ms13008 KiB
#include "grader.h" #include "encoder.h" #include <bits/stdc++.h> using namespace std; void encode(int n, int h, int p, int v1[], int v2[]){ srand(time(NULL)); vector<int>vct[n]; for(int i=0;i<p;i++){ vct[v1[i]].push_back(v2[i]); vct[v2[i]].push_back(v1[i]); } priority_queue<pair<int,pair<int,int>>>pq; map<pair<int,int>,bool>mp; for(int i=0;i<10;i++){ int k=rand()%n; deque<pair<int,int>>dq={{0,k}}; vector<bool>vis(n); vis[k]=1; while(dq.size()){ pair<int,int>p=dq.front(); dq.pop_front(); for(auto &w:vct[p.second]){ if(vis[w])continue; vis[w]=1; if(!mp[{min(w,p.second),max(w,p.second)}]){ pq.push({rand(),{min(w,p.second),max(w,p.second)}}); mp[{min(w,p.second),max(w,p.second)}]=1; } dq.push_back({p.first+1,w}); } } } int tot=360000/20; while(tot--){ pair<int,int>pr; if(pq.empty())pr={0,0}; else{ pr=pq.top().second; pq.pop(); } for(int i=0;i<10;i++)encode_bit((!!(pr.first&(1<<i)))); for(int i=0;i<10;i++)encode_bit((!!(pr.second&(1<<i)))); } }
#include "grader.h" #include "decoder.h" #include <bits/stdc++.h> using namespace std; void decode(int n, int h) { vector<int>vct[n]; for(int i=0;i<360000/20;i++){ int a=0,b=0; for(int w=0;w<10;w++)a+=(1<<w)*decode_bit(); for(int w=0;w<10;w++)b+=(1<<w)*decode_bit(); vct[a].push_back(b); vct[b].push_back(a); } for(int i=0;i<h;i++){ deque<pair<int,int>>dq={{0,i}}; vector<bool>vis(n); vis[i]=1; while(dq.size()){ pair<int,int>p=dq.front(); dq.pop_front(); hops(i,p.second,p.first); for(auto &w:vct[p.second]){if(!vis[w]){dq.push_back({p.first+1,w});vis[w]=1;}} } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...