#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);
}
}
}
Compilation message
encoder.cpp: In function 'void encode(int, int, int, int*, int*)':
encoder.cpp:24:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
24 | for(int j=0;j<XD[i-1].size();j++)
| ~^~~~~~~~~~~~~~~
encoder.cpp:27:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
27 | for(int k=0;k<D[ziom].size();k++)
| ~^~~~~~~~~~~~~~~
encoder.cpp:55:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
55 | for(int i=0;i<A.size();i++)
| ~^~~~~~~~~
decoder.cpp: In function 'void decode(int, int)':
decoder.cpp:8:4: error: 'vector' was not declared in this scope
8 | vector<int>A;
| ^~~~~~
decoder.cpp:3:1: note: 'std::vector' is defined in header '<vector>'; did you forget to '#include <vector>'?
2 | #include "encoder.h"
+++ |+#include <vector>
3 | using namespace std;
decoder.cpp:8:11: error: expected primary-expression before 'int'
8 | vector<int>A;
| ^~~
decoder.cpp:6:8: warning: unused variable 'a' [-Wunused-variable]
6 | int a=decode_bit();
| ^
decoder.cpp:7:8: warning: unused variable 'b' [-Wunused-variable]
7 | int b=decode_bit();
| ^