#25961:


liu76214@gmail.com (Andrew liu)

學校 : 新竹市立建功高級中學
編號 : 92407
來源 : [111.243.122.123]
最後登入時間 :
2021-08-15 15:26:39
e507. 10252 - Common Permutation -- UVA | From: [111.243.144.32] | 發表日期 : 2021-07-07 21:50

#include <iostream>

#include <string>

 

using namespace std;

 

int main() {

string compare_str1, compare_str2;

while (cin >> compare_str1 >> compare_str2) {

 

for (char a = 'a'; a < 'z'; a++) {

int num1 = 0, num2 = 0;

for (int i = 0; i < compare_str1.length(); i++) {

if (a == compare_str1[i]){

num1++;

}

}

for (int j = 0; j < compare_str2.length(); j++) {

if (a == compare_str2[j]) {

num2++;

}

}

int k;

if (num1 > num2) k = num2;

else k = num1;

 

for (int i = 0; i < k; i++) {

cout << a;

}

}

 

cout << endl;

}

return 0;

}

 
#25966: Re:C++


liu76214@gmail.com (Andrew liu)

學校 : 新竹市立建功高級中學
編號 : 92407
來源 : [111.243.122.123]
最後登入時間 :
2021-08-15 15:26:39
e507. 10252 - Common Permutation -- UVA | From: [111.243.144.32] | 發表日期 : 2021-07-07 22:10

應付zerojudge的話,上面就可以了

下面是應付UVa

 

 

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

 

int main()

{

string a, b;//輸入用字串 

int i, t;//方便用 

 

while (getline(cin, a))//輸入資料 

{

getline(cin, b);//輸入資料

 

string re[1000] = { "" };//記錄用陣列 

 

for (i = 0; i < a.length(); i++)//使用雙重迴圈比對 

{

for (t = 0; t < b.length(); t++)

{

if (a[i] == b[t])//找到重複的字 

{

re[i] = a[i];//紀錄 

b.erase(t, 1);//擦掉該字避免重複找查 

break;//直接結束第二個迴圈, 理由同上 

}

}

}

 

sort(re, re + 1000);//排序 

 

for (i = 0; i < 1000; i++)//輸出 

{

cout << re[i];

}

 

cout << endl;//記得換行 

}

return 0;

 

}



 
ZeroJudge Forum