本文章由 WyOJ Shojo 从洛谷专栏拉取,原发布时间为 2021-04-04 11:39:53
思路
如果某一位完全不匹配,那么那一位就等于 '!'。如果匹配,那么那一位就等于 '?'。
'!' 代表要输出 '?','?' 代表可以是任何字符,我这里默认是 'a'。最后输出时判断一下就好了。
代码
#include<bits\/stdc++.h>
using namespace std;
int main() {
string a,b;
int n;
cin>>n;
for(int j=1; j<=n; j++) {
cin>>b;
if(j==1)
{
a=b;
continue;
}
for(int i=0; i<a.size(); i++) {
if(a[i]=='?')
a[i]=b[i];
if(a[i]!=b[i]&&b[i]!='?'&&a[i]!='!')
a[i]='!';
}
}
for(int i=0; i<a.size(); i++) {
if(a[i]=='!')
cout<<'?';
else if(a[i]=='?')
cout<<'a';
else
cout<<a[i];
}
return 0;
}

鲁ICP备2025150228号