Giải bài ntucoder SXTRON - Sắp xếp trộn

Thảo luận trong 'Khác' bắt đầu bởi nguyen minh duc, 10 Tháng sáu 2023.

  1. nguyen minh duc

    Bài viết:
    28
    Link bài:

    Thuật toán:

    • Ta sẽ dùng đệ quy và 2 con trỏ để giải quyết bài này.
    • Với con trỏ i, j trên 2 mảng a, b nếu a< b[j] ta sẽ in ra "ai" và tiếp tục với i+1, j.
    Code:

    Mã:
    #include <bits/stdc++.h>
    using namespace std;
    
    int c[107], b[107], n, m;
    
    void doit(int i, int j){
        if (b <= c[j] && i <= n && j <= m) {cout << "b" << i << " "; doit(i+1, j);} else
        if (b >= c[j] && i <= n && j <= m) {cout << "c" << j << " "; doit(i, j+1);} else
        if (i > n && j <= m) {cout << "c" << j << " "; doit(i, j+1);} else
        if (i <= n && j > m) {cout << "b" << i << " "; doit(i+1, j);}
    }
    
    int main(){
        ios_base::sync_with_stdio(0);
        cin.tie(0); cout.tie(0);
        //freopen("xstron.inp", "r", stdin);
        //freopen("xstron.out", "w", stdout);
        cin >> n >> m;
        for (int i = 1; i <= n; i++) cin >> b;
        for (int i = 1; i <= m; i++) cin >> c;
        sort(c+1, c+m+1); sort(b+1, b+n+1);
        doit(1, 1);
    
        return 0;
    }
     
  2. Đăng ký Binance
Trả lời qua Facebook
Đang tải...