THPTTD_92 - sắp xếp xâu

Xem dạng PDF

Gửi bài giải


Điểm: 7,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: bai2.inp
Output: bai2.out

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Please read the guidelines before commenting.



  • 0
    ToiNhoDuongThanhThao  đã bình luận lúc 11, Tháng 6, 2026, 4:14

    **#include <iostream>

    include <string>

    include <vector>

    include <algorithm>

    include <fstream>

    using namespace std;

    bool ss(string a, string b) { if (a.length() != b.length()) return a.length() < b.length(); return a < b; }

    string xoa0(string s) { sizet f = s.findfirstnotof('0'); if (string::npos == f) return "0"; return s.substr(f); }

    int main() { ifstream fi("bai2.inp"); ofstream fo("bai2.out"); string s; getline(fi, s); vector<string> ns; vector<string> kt; string t = ""; for (int i = 0; i <= s.length(); ++i) { if (i < s.length() && isdigit(s[i])) { t += s[i]; } else { if (!t.empty()) { ns.pushback(xoa0(t)); t = ""; } if (i < s.length()) { string tmp = ""; tmp += s[i]; kt.pushback(tmp); } } } sort(ns.begin(), ns.end(), ss); int ni = 0, ki = 0; for (int i = 0; i < s.length(); ++i) { if (isdigit(s[i])) { while (i + 1 < s.length() && isdigit(s[i + 1])) i++; fo << ns[ni++]; } else { fo << kt[k_i++]; } } fi.close(); fo.close(); return 0; }**