UVa——110303 Common Permutation(字符串)
2012-02-29 09:05
387 查看
题意:给出两个字符串 a 和 b ,输出一个满足如下条件的最长串 x:x 的某两个排列分别是 a 和 b 的(不必连续的)子序列。如果有多个 x 满足条件,输出字典序最小的一个。
解题思路:首先对两个字符串按字典序排序,然后再进行比较。注意:测试数据含有空格,所以不能用 cin 或 scanf 输入字符串。
View Code
1 #include<iostream>
2 #include<cstdio>
3 #include<algorithm>
4 #include<cstring>
5 using namespace std;
6 char a[1005],b[1005];
7 bool cmp(char x,char y)
8 {
9 return x<y;
10 }
11
12 int main()
13 {
14 int i,j,len1,len2;
15 while(gets(a))
16 {
17 gets(b);
18 len1=strlen(a);
19 len2=strlen(b);
20 sort(a,a+len1,cmp);
21 sort(b,b+len2,cmp);
22 i=0;j=0;
23 while(i<len1&&j<len2)
24 {
25 if(a[i]==b[j])
26 {
27 cout<<a[i];
28 i++; j++;
29 }
30 else
31 {
32 if(a[i]<b[j]) i++;
33 else j++;
34 }
35 }
36 cout<<endl;
37 }
38 return 0;
39 }
解题思路:首先对两个字符串按字典序排序,然后再进行比较。注意:测试数据含有空格,所以不能用 cin 或 scanf 输入字符串。
View Code
1 #include<iostream>
2 #include<cstdio>
3 #include<algorithm>
4 #include<cstring>
5 using namespace std;
6 char a[1005],b[1005];
7 bool cmp(char x,char y)
8 {
9 return x<y;
10 }
11
12 int main()
13 {
14 int i,j,len1,len2;
15 while(gets(a))
16 {
17 gets(b);
18 len1=strlen(a);
19 len2=strlen(b);
20 sort(a,a+len1,cmp);
21 sort(b,b+len2,cmp);
22 i=0;j=0;
23 while(i<len1&&j<len2)
24 {
25 if(a[i]==b[j])
26 {
27 cout<<a[i];
28 i++; j++;
29 }
30 else
31 {
32 if(a[i]<b[j]) i++;
33 else j++;
34 }
35 }
36 cout<<endl;
37 }
38 return 0;
39 }
相关文章推荐
- 字符串 UVa 10252 Common Permutation (公共排列)
- (字符串的处理4.7.14)UVA 10252 Common Permutation(寻找两个字符串中的共同字符&&按字典序输出)
- uva 10252 - Common Permutation 字符串水题
- uva 10252 - Common Permutation 字符串水题
- UVA10252 POJ2629 Common Permutation【字符串排序】
- uva-10252-Common Permutation
- UVa 10252 - Common Permutation
- 数组字符串uva 10405 - Longest Common Subsequence(最长公共子序列)
- uva 10252Common Permutation
- UVa10252:Common Permutation
- 2018_1_31_Common permutation_字符串基础题
- programming-challenges Common Permutation (110303) 题解
- UVA--10252 Common Permutation
- UVa Problem 10252 Common Permutation (公共排列)
- 110303_Common Permutation(公共排列)
- UVa Problem Solution: 10252 - Common Permutation
- Uva 10252 - Common Permutation
- UVa 10252 Common Permutation (water ver.)
- UVa 489 Hangman Judge(字符串)
- UVA ~ 156 ~ Ananagrams(map+字符串处理)