# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
969649 | 2024-04-25T12:01:52 Z | vjudge1 | Type Printer (IOI08_printer) | C++14 | 78 ms | 5064 KB |
#include<bits/stdc++.h> using namespace std; const int mxN = 25000 + 5; int n; string words[mxN]; string base = ""; bool cmp(string a , string b){ int na = a.length() , nb = b.length(); int idx_a = na , idx_b = nb; for(int i=0;i<na;i++){ if(a[i] != base[i]){ idx_a = i; break; } } for(int i=0;i<nb;i++){ if(b[i] != base[i]){ idx_b = i; break; } } if(idx_a==idx_b) return a < b; return idx_a < idx_b; } int main(){ cin>> n; for(int i=0;i<n;i++){ cin>> words[i]; if(words[i].length() > base.length()) base = words[i]; } // words[n-1] = base , cnt = len(base) sort(words, words + n , cmp); // for(auto word : words) cout<< word << "\n"; string ans = ""; for(auto c : words[0]) ans += c; ans += 'P'; for(int i=1;i<n;i++){ int idx = min(words[i-1].length() ,words[i].length()); for(int j=0;j<min(words[i-1].length() , words[i].length());j++){ if(words[i-1][j] != words[i][j]){ idx = j; break; } } for(int j=words[i-1].length()-1;j>=idx;j--) ans += '-'; for(int j=idx;j<words[i].length();j++) ans += words[i][j]; ans += 'P'; } cout<< ans.length() << "\n"; for(auto c : ans) cout<< c << "\n"; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1112 KB | Output is correct |
2 | Correct | 1 ms | 1116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1116 KB | Output is correct |
2 | Correct | 1 ms | 1116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1116 KB | Output is correct |
2 | Correct | 1 ms | 1116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1116 KB | Output is correct |
2 | Correct | 1 ms | 1116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1112 KB | Output is correct |
2 | Correct | 1 ms | 1112 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 1116 KB | Output is correct |
2 | Correct | 2 ms | 1116 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 1368 KB | Output is correct |
2 | Correct | 11 ms | 1624 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 14 ms | 1772 KB | Output is correct |
2 | Correct | 13 ms | 1368 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 34 ms | 2544 KB | Output is correct |
2 | Correct | 68 ms | 4584 KB | Output is correct |
3 | Correct | 51 ms | 3308 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 32 ms | 2136 KB | Output is correct |
2 | Correct | 78 ms | 5064 KB | Output is correct |
3 | Correct | 56 ms | 3820 KB | Output is correct |
4 | Correct | 74 ms | 4808 KB | Output is correct |