제출 #1172501

#제출 시각아이디문제언어결과실행 시간메모리
1172501lopkusType Printer (IOI08_printer)C++20
20 / 100
1096 ms2644 KiB
#include <bits/stdc++.h>+ signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; std::cin >> n; std::vector<int> p(n, 0); for(int i = 0; i < n; i++) { p[i] = i; } std::vector<std::string> a(n); for(int i = 0; i < n; i++) { std::cin >> a[i]; } int ans = 1e7; std::vector<char> operations; do { int to = a[p[0]].size(); to += n; std::vector<char> curr; for(int i = 0; i < a[p[0]].size(); i++) { curr.push_back(a[p[0]][i]); } curr.push_back('P'); for(int i = 1; i < n; i++) { int s = 0; while(s < std::min(a[p[i]].size(), a[p[i - 1]].size()) && a[p[i]][s] == a[p[i - 1]][s]) { s += 1; } to += a[p[i]].size() - s; to += a[p[i - 1]].size() - s; for(int j = a[p[i - 1]].size() - s; j > 0; j--) { curr.push_back('-'); } for(int j = s; j < a[p[i]].size(); j++) { curr.push_back(a[p[i]][j]); } curr.push_back('P'); } if(to < ans) { operations = curr; ans = to; } }while(next_permutation(p.begin(), p.end())); std::cout << ans << "\n"; for(auto x : operations) { std::cout << x << "\n"; } }

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

printer.cpp:1:25: warning: extra tokens at end of #include directive
    1 | #include <bits/stdc++.h>+
      |                         ^
#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...
#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...