Coder-Strike 2014 - Round 1 C. Pattern

时间:2021-12-16 11:49:24

题目的意思是给出n个长度相同的字符串然后找出与他们匹配的字符串

将字符串存入类似二维数组的里面,每一行代表一个字符串,遍历每列,判断每列是否有公共的匹配字符,如果有输出任意一个

如果没有输出'?'

#include <iostream>
#include <vector>
#include <algorithm>
#include <string> using namespace std; int main(){
int n;
cin >> n;
vector<string> patterns(n);
for(int i = ; i < n; ++ i){
cin >> patterns[i];
}
string res ="";
for(int i = ; i < patterns[].length();++ i){
char ch = '?';
bool flag = false;
int j = ;
for(j = ; j < n; ++ j){
if(patterns[j][i] != '?' ){
flag = true;
if(ch=='?') ch = patterns[j][i] ;
else if(ch!=patterns[j][i]) {
break;
}
}
}
if(j < n) ch='?';
else if(ch=='?') ch ='a';
res+=ch;
}
cout<<res<<endl;
}