【题目链接】: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
*/