제출 #248863

#제출 시각아이디문제언어결과실행 시간메모리
248863kostia244고대 책들 (IOI17_books)C++17
0 / 100
2085 ms21688 KiB
#include "books.h" #include<bits/stdc++.h> using namespace std; set<tuple<vector<int>, int, int>> dp; int ans = 1<<30, os; void solve(vector<int> p, int s, int cur) { if(cur > 30) return; if(!dp.insert({p, s, cur}).second) return; int ok = 1; for(int i = 0; i < p.size(); i++) ok &= p[i] == i; if(ok&&s==os) ans = min(ans, cur); for(int j = 0; j < p.size(); j++) if(j != s) { solve(p, j, cur+abs(s-j)); swap(p[j], p[s]); solve(p, j, cur+abs(s-j)); swap(p[j], p[s]); } } long long minimum_walk(std::vector<int> p, int s) { os = s; solve(p, s, 0); return ans; }

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

books.cpp: In function 'void solve(std::vector<int>, int, int)':
books.cpp:10:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < p.size(); i++) ok &= p[i] == i;
                 ~~^~~~~~~~~~
books.cpp:12:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int j = 0; j < p.size(); j++) if(j != s) {
                 ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...