# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
476620 | TlenekWodoru | 저장 (Saveit) (IOI10_saveit) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "grader.h"
#include "encoder.h"
using namespace std;
vector<int>D[1009];
vector<int>XD[1009];
int zaj[40][1009];
int vv1[7],vv2[7];
void encode(int nv, int nh, int ne, int *v1, int *v2)
{
for(int i=0;i<ne;i++)
{
int a=v1[i];
int b=v2[i];
D[a].push_back(b);
D[b].push_back(a);
}
for(int l=0;l<nh;l++)
{
XD[0].push_back(l);
zaj[l][l]=1;
for(int i=1;true;i++)
{
for(int j=0;j<XD[i-1].size();j++)
{
int ziom=XD[i-1][j];
for(int k=0;k<D[ziom].size();k++)
{
int somsiad=D[ziom][k];
if(zaj[l][somsiad]==0)
{
zaj[l][somsiad]=i;
XD[i].push_back(somsiad);
}
}
}
if(XD[i-1].size()==0){zaj[l][l]=0;break;}
XD[i-1].clear();
}
}
vector<int>A;
for(int i=nh-1;i>=0;i--)
{
for(int j=nv-1;j>=0;j--)
{
int u=zaj[i][j];
for(int k=1;k<=10;k++)
{
A.push_back(u%2);
u=u/2;
}
}
}
reverse(A.begin(),A.end());
for(int i=0;i<A.size();i++)
{
encode_bit(A[i]);
}
}
/**int main()
{ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
vv1[0]=0;vv2[0]=1;
vv1[1]=0;vv2[1]=2;
vv1[2]=0;vv2[2]=4;
vv1[3]=2;vv2[3]=1;
vv1[4]=3;vv2[4]=1;
vv1[5]=0;vv2[5]=3;
vv1[6]=1;vv2[6]=4;
encode(5,3,7,vv1,vv2);
return 0;
}**/
#include "grader.h"
#include "encoder.h"
using namespace std;
void decode(int nv, int nh)
{
int a=decode_bit();
int b=decode_bit();
vector<int>A;
for(int i=0;i<nh;i++)
{
for(int j=0;j<nv;j++)
{
int u=0;
for(int k=1;k<=10;k++)
{
u=(u*2)+decode_bit();
}
hops(i,j,u);
}
}
}