제출 #1319171

#제출 시각아이디문제언어결과실행 시간메모리
1319171kawhietType Printer (IOI08_printer)C++20
10 / 100
16 ms2480 KiB
#include <bits/stdc++.h> using namespace std; bool is_prefix(string &x, string &y) { int n = x.size(); if (n > y.size()) return false; for (int i = 0; i < n; i++) { if (x[i] != y[i]) { return false; } } return true; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<string> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } ranges::sort(a, [&](auto x, auto y) { if (x[0] == y[0]) { return x < y; } else { return x.size() < y.size(); } }); vector<char> ans; string x; for (int i = 0; i < n; i++) { while (!is_prefix(x, a[i])) { ans.push_back('-'); x.pop_back(); } int t = x.size(); for (int j = t; j < a[i].size(); j++) { x.push_back(a[i][j]); ans.push_back(a[i][j]); } ans.push_back('P'); } cout << ans.size() << '\n'; for (auto c : ans) { cout << c << '\n'; } return 0; }
#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...