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] << " ";
}
}