제출 #722117

#제출 시각아이디문제언어결과실행 시간메모리
722117yeyso순열 (APIO22_perm)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #include "perm.h" #define ll long long; vector<long long> construct_permutation(long long k) { k -= 1; long long x = 1; vector<long long> sub = {0}; vector<long long> res; while(sub[sub.size()-1] < k * 2){ sub.push_back(pow(2, x)-1); x += 1; } while(k > 0){ for(long long i = 0; i < sub.size(); i ++){ if(sub[i] > k){ k -= sub[i-1]; res.push_back(i-1); break; } } } vector<vector<long long>> inc; long long res0; for(long long i = 0; i < res.size(); i ++){ inc.push_back({}); for(long long j = 0; j < res[i]; j ++){ inc[i].push_back(j+res0); } res0 += res[i]; } vector<long long> res2; reverse(inc.begin(), inc.end()); for(long long i = 0; i < inc.size(); i ++){ for(long long j = 0; j < inc[i].size(); j ++){ res2.push_back(inc[i][j]); } } return res2; }

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

perm.cpp:5:19: error: ambiguating new declaration of 'std::vector<long long int> construct_permutation(long long int)'
    5 | vector<long long> construct_permutation(long long k)
      |                   ^~~~~~~~~~~~~~~~~~~~~
In file included from perm.cpp:3:
perm.h:3:18: note: old declaration 'std::vector<int> construct_permutation(long long int)'
    3 | std::vector<int> construct_permutation(long long k);
      |                  ^~~~~~~~~~~~~~~~~~~~~
perm.cpp: In function 'std::vector<long long int> construct_permutation(long long int)':
perm.cpp:16: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]
   16 |   for(long long i = 0; i < sub.size(); i ++){
      |                        ~~^~~~~~~~~~~~
perm.cpp:26:28: 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]
   26 |     for(long long i = 0; i < res.size(); i ++){
      |                          ~~^~~~~~~~~~~~
perm.cpp:35:28: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for(long long i = 0; i < inc.size(); i ++){
      |                          ~~^~~~~~~~~~~~
perm.cpp:36:32: 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]
   36 |         for(long long j = 0; j < inc[i].size(); j ++){
      |                              ~~^~~~~~~~~~~~~~~