제출 #649864

#제출 시각아이디문제언어결과실행 시간메모리
649864boris_mihovSecret Permutation (RMI19_permutation)C++17
컴파일 에러
0 ms0 KiB
#include "permutation.h" #include <algorithm> #include <iostream> #include <iomanip> #include <numeric> #include <cassert> #include <vector> #include <cmath> #include <set> const int MAXN = 256 + 10; const int INF = 1e9; // int p[MAXN]; // int query(std::vector <int> v) // { // int sum = 0; // for (int i = 0 ; i < v.size() - 1 ; ++i) // { // sum += abs(p[v[i + 1]] - p[v[i]]); // } // return sum; // } // int N; // void answer(std::vector <int> v) // { // int cnt = 1; // bool res = true; // for (const int &i : v) // { // std::cout << i << ' '; // res &= (i == p[cnt++]); // } // if (!res) // { // cnt = 1; // res = true; // for (const int &i : v) // { // res &= (i == N+1 - p[cnt++]); // } // } // std::cout << '\n'; // if (res) std::cout << "OK\n"; // else std::cout << "WA\n"; // exit(0); // // if (!res) // // { // // for (int i = 1 ; i <= N ; ++i) // // { // // std::cout << p[i] << ' '; // // } // // std::cout << '\n'; // // exit(0); // // } // } // inline void printVector(const std::vector <int> &v) // { // for (const int &i : v) // { // std::cout << i << ' '; // } // std::cout << '\n'; // } std::vector <int> perm; std::vector <int> ans; void solve(int n) { perm.resize(n); std::iota(perm.begin(), perm.end(), 1); for (int i = 2 ; i <= n-1 ; ++i) { perm.erase(perm.begin() + i); int minPos = -1, value = INF; for (int j = 0 ; j <= i ; ++j) { perm.insert(perm.begin() + j, i+1); printVector(perm); int curr = query(perm); if (curr <= value) { minPos = j; value = curr; } perm.erase(perm.begin() + j); } perm.insert(perm.begin() + minPos, i+1); } ans.resize(n); for (int i = 1 ; i <= n ; ++i) { ans[perm[i-1] - 1] = i; } answer(ans); } // int n; // int main() // { // std::cin >> n; // for (int i = 1 ; i <= n ; ++i) // { // std::cin >> p[i]; // } // solve(n); // // n = 5; // // N = n; // // std::iota(p + 1, p + 1 + n, 1); // // do // // { // // solve(n); // // std::random_shuffle(p + 1, p + 1 + n); // // } while(true); // // return 0; // }

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

permutation.cpp: In function 'void solve(int)':
permutation.cpp:86:13: error: 'printVector' was not declared in this scope
   86 |             printVector(perm);
      |             ^~~~~~~~~~~
stub.cpp: In function 'int query(int*)':
stub.cpp:15:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   fscanf(stdin, "%d", &x);
      |   ~~~~~~^~~~~~~~~~~~~~~~~
stub.cpp: In function 'int main(int, char**)':
stub.cpp:48:9: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   48 |   fscanf(stdin, "%d", &N);
      |   ~~~~~~^~~~~~~~~~~~~~~~~