Submission

Status:

[PPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: gs

Problemset: สตริงซ้ำซ้ำ

Language: cpp

Time: 0.003 second

Submitted On: 2025-12-09 14:13:36

#include <iostream>
#include <string>
#include <vector>
using namespace std;

string sort(string a){
    int len = a.size();
    for(int i = 0; i < len-1;i++){
        for(int j = 0; j < len-1; j++){
            if(a[j] > a[j+1]){
                char tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
        }
    }
    return a;
}


int main() {
    // Write C++ code here
    string inp1, inp2;
    cin >> inp1 >> inp2;
    inp1 = sort(inp1);
    inp2 = sort(inp2);
    //cout << inp1 << endl;
    //cout << inp2 << endl;
    vector<char> out;
    int idx1 = 0, idx2 = 0;
    //cout << inp1.size() << " " << inp2.size() << endl;
    while(idx1 <= inp1.size() && idx2 <= inp2.size()){
        //cout << idx1 << " " << idx2 << endl;
        //cout << inp1[idx1] << " " << inp2[idx2] << endl;
        if(inp1[idx1] == inp2[idx2]){
            if(out.empty() || out.back()!=inp1[idx1]){
                out.push_back(inp1[idx1]);
                //cout << idx1 << " " << idx2 << " =" << endl;
            } // if no short circuit -> segmentation fault
            idx1++;
            idx2++;
        }
        else if(inp1[idx1] > inp2[idx2]){
            //cout << idx1 << " " << idx2 << " >" << endl;
            idx2++;
        }else{
            
            //cout << idx1 << " " << idx2 << " <" << endl;
            idx1++;
        }
    }
    
    for(int i = 0; i < out.size(); i++){
        cout << out[i] << " ";
    }
    
}