제출 #1012799

#제출 시각아이디문제언어결과실행 시간메모리
1012799codefox순열 (APIO22_perm)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include "perm.h" using namespace std; std::vector<int> construct_permutation(long long k) { int l = 0; for (int i = 62; i>= 0; i--) { if (k&(1LL<<i)) l =max(l,i); } vector<int> sol(l); iota(sol.begin(), sol.end(), 0); int d = l; for (int i = l-1; i >= 0; i--) { if (k&(1LL<<i)) { if (i%2 && k&(1LL<<(i-1)) && d-l>=2) { i--; int h = 0; int f = 0; for (int j = sol.size()-1; j >= 0; j--) { if (h <2 && sol[j]>=l) { f = sol[j] sol[j]=d-1+h; h++; } else if (h==2 && sol[j]> f) { sol[j]-=2; } } sol.push_back(0); for (int j = sol.size()-1; j > i; j--) { sol[j] = sol[j-1]; } sol[i] = d - 2; d++; } else { sol.push_back(0); for (int j = sol.size()-1; j >i; j--) { sol[j] = sol[j-1]; } sol[i] = d++; } } } return sol; }

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

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:31:35: error: expected ';' before 'sol'
   31 |                         f = sol[j]
      |                                   ^
      |                                   ;
   32 |                         sol[j]=d-1+h;
      |                         ~~~