제출 #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...