제출 #1106013

#제출 시각아이디문제언어결과실행 시간메모리
1106013groshi순열 (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);
      |                  ^~~~~~~~~~~~~~~~~~~~~