Description
定义两个字符串的距离为对应位置不相同的字符数量,现在给出三个长度为n的字符串a,b,c,要求构造一个长度为n的字符串s,使得s和a,b,c三个串的距离和最小
Input
第一行一整数n表示串长,之后三个长度为n的全部由小写字母构成的字符串(1<=n<=200000)
Output
输出一个长度为n的字符串使得其距三个串的距离和最小
Sample Input
6
needle
turkey
bottle
Sample Output
turtle
Solution
对应位置找a,b,c三个串对应位置出现次数最多的那个字符即可
Code
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#define maxn 222222
char a[maxn],b[maxn],c[maxn];
int n;
int main()
{
while(~scanf("%d",&n))
{
scanf("%s%s%s",a,b,c);
for(int i=0;i<n;i++)
{
char t=a[i];
if(a[i]!=b[i]&&b[i]==c[i])t=b[i];
printf("%c",t);
}
printf("\n");
}
return 0;
}