Hướng dẫn giải của CHÈN CHUỖI TẠI VỊ TRÍ TÌM KIẾM (★ MYSTRINSERT.CPP)


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Hướng dẫn giải thuật

1. Ý tưởng

Dùng find("main") tìm lần xuất hiện đầu tiên. Nếu tìm thấy tại p, chèn B ở vị trí p + 4.

2. Các bước thực hiện
  1. Đọc dữ liệu theo đúng định dạng đề bài.
  2. Kiểm tra string::npos trước khi chèn.
  3. Xuất kết quả theo yêu cầu, không in lời giải thích thừa.
3. Phân tích độ phức tạp
  • Thời gian: O(|A|+|B|).
  • Bộ nhớ: O(|A|+|B|) (tính cả dữ liệu xâu được lưu).
4. Chương trình tham khảo
    #include <bits/stdc++.h>
    using namespace std;

    int main() {
        string a, b;
        cin >>a>>b;
        size_t p=a.find("main");
        if (p!=string::npos)
            a.insert(p+4, b);
        cout<<a;
        return 0;
    }

5. Lưu ý khi làm bài

Kiểm tra string::npos trước khi chèn.


Đang tải...