제출 #1106013

#제출 시각아이디문제언어결과실행 시간메모리
1106013groshiPermutation (APIO22_perm)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
#include "perm.h"
#define int long long
using namespace std;
vector<int> szukaj(int x)
{
    if(x<=1)
        return {};
    if(x==2)
        return {0};
    for(int i=3;i<=7;i+=2)
    {
        if(x%i==0 && x!=i)
        {
            vector<int> mam1=szukaj(i);
            vector<int> mam2=szukaj(x/i);
            for(int i=0;i<mam2.size();i++)
                mam1.push_back(mam2[i]+mam1.size());
            return mam1;
        }
    }
    vector<int> mam=szukaj(x/2);
    mam.push_back(mam.size());
    if(x%2==1)
        mam.insert(mam.begin(),mam.size());
    return mam;
}
vector<int> construct_permutation(int x)
{
    return szukaj(x);
}

컴파일 시 표준 에러 (stderr) 메시지

perm.cpp: In function 'std::vector<long long int> szukaj(long long int)':
perm.cpp:17:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |             for(int i=0;i<mam2.size();i++)
      |                         ~^~~~~~~~~~~~
perm.cpp: At global scope:
perm.cpp:28:13: error: ambiguating new declaration of 'std::vector<long long int> construct_permutation(long long int)'
   28 | vector<int> construct_permutation(int x)
      |             ^~~~~~~~~~~~~~~~~~~~~
In file included from perm.cpp:2:
perm.h:3:18: note: old declaration 'std::vector<int> construct_permutation(long long int)'
    3 | std::vector<int> construct_permutation(long long k);
      |                  ^~~~~~~~~~~~~~~~~~~~~