이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |