# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
476619 | TlenekWodoru | Saveit (IOI10_saveit) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 <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;
}**/