请问我的代码有什么问题,题目如下

Common permutation
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Total submit users: 1060, Accepted users: 951
Problem 10048 : No special judgement
Problem description
Given two strings of lowercase letters, a and b, print the longest string x of lowercase letters such that there is a permutation of x that is a subsequence of a and there is a permutation of x that is a subsequence of b.

Input
Input consists of pairs of lines. The first line of a pair contains a and the second contains b. Each string is on a separate line and consists of at most 1,000 lowercase letters.

Output
For each subsequent pair of input lines, output a line containing x. If several x satisfy the criteria above, choose the first one in alphabetical order.

Sample Input
pretty
women
walking
down
the
street
Sample Output
e
nw
et
Problem Source
UAL 1999

我的代码如下

 #include<iostream>
#include<string> 
using namespace std;
int main(){
string a,b;
while(cin>>a>>b){
int c[26]={0},d[26]={0};
int  n1=a.length(),n2=b.length();
for(int i=0;i<n1;i++){
if(c[(int)a[i]-97]==0){
c[(int)a[i]-97]=1;
}
}
for(int i=0;i<n2;i++){
if(d[(int)b[i]-97]==0){
d[(int)b[i]-97]=1;
}
}
for(int i=0;i<26;i++){
if(c[i]!=0&&d[i]!=0)
cout<<char(i+97);
}
cout<<endl;
}
}


慕粉3127126
浏览 1451回答 1
1回答

JustWannaHugU

while(cin>>a>>b)这句别用cin,用gets
打开App,查看更多内容
随时随地看视频慕课网APP