【题目链接】:click here~~
【题目大意】:
题意:求一个字符串,使得它与S,T,相似度相差相等。
【思路】:就是找出S,T之间的相差个数,相差为奇数,输出impossible。输出为偶数的话不同的前半部分输出S后半部分输出T就好了。
代码:
/* * Problem: CodeForces 545B * Running time: 0MS * Complier: G++ * Author: herongwei * Create Time: 8:11 2015/9/17 星期四 */ #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; const int N=1e5+10; char s[N]; char t[N]; int main() { scanf("%s%s",s,t); int len=strlen(s); int sum=0; for(int i=0; i<len; ++i) { if(s[i]!=t[i]) sum++; } if(sum&1) puts("impossible"); else { sum/=2; for(int i=0; i<len; ++i) { if(s[i]!=t[i]) { if(sum) { printf("%c",s[i]); sum--; } else printf("%c",t[i]); } else printf("%c",s[i]); } } puts(""); return 0; }
/*
Sample Input
Input
0001
1011
Output
0011
Input
000
111
Output
impossible
*/
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-11 03:50:18