답안 #476619

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
476619 2021-09-27T19:18:14 Z TlenekWodoru 저장 (Saveit) (IOI10_saveit) C++14
컴파일 오류
0 ms 0 KB
#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;
}**/

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 encode(int, int, int, int*, int*)':
decoder.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++)
      |                         ~^~~~~~~~~~~~~~~
decoder.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++)
      |                             ~^~~~~~~~~~~~~~~
decoder.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++)
      |                 ~^~~~~~~~~
/usr/bin/ld: /tmp/ccrlZNmp.o: in function `encode(int, int, int, int*, int*)':
decoder.cpp:(.text+0x3ed): undefined reference to `encode_bit(int)'
/usr/bin/ld: /tmp/ccrbT0ql.o: in function `main':
grader_decoder.c:(.text.startup+0x126): undefined reference to `decode(int, int)'
collect2: error: ld returned 1 exit status