MERGENUM - Ghép số

ữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: middlest

Cho hai số nguyên dương x, y, ta xây dựng số z bằng cách ghép các chữ số của x và y sao cho thứ tự các chữ số của x và y vẫn giữ nguyên trên z. Tìm giá trị bé nhất và lớn nhất của z.
Dữ liệu vào
Một dòng gồm 2 số nguyên dương x, y
Dữ liệu ra
Dòng thứ nhất ghi giá trị bé nhất của z và dòng thứ hai ghi giá trị lớn nhất của z
Giới hạn
1 <= x, y <= 108, dữ liệu đảm bảo không có các chữ số 0 vô nghĩa của x và y.

Ví dụ

  • input
    13 26
    output
    1236
    2613
  • Solution :
  • #include<bits/stdc++.h>
    using namespace std;
    string s,t,miin = "999999999999999999",maax = "0";
    void backtracking(int x,int y,string res){
    if(res.length() == s.length() + t.length()){
    miin = min (res,miin);
    maax = max (res,maax);
    }
    if(x<s.length()) backtracking(x+1,y,res + s[x]);
    if(y<t.length()) backtracking(x,y+1,res + t[y]);
    }
    int main (){
    cin >> s >> t;
    backtracking(0,0,"");
    cout << miin << "\n" << maax ;
    }

Nhận xét

Bài đăng phổ biến từ blog này

OCSE - Ốc sên ăn rau

BACO - Bàn cờ