您的位置:首页 > 其它

Coder-Strike 2014 - Round 1 C. Pattern

2014-04-19 12:36 423 查看
题目的意思是给出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 = 0 ; i < n; ++ i){
cin >> patterns[i];
}
string res ="";
for(int i = 0 ; i < patterns[0].length();++ i){
char ch = '?';
bool flag = false;
int j = 0;
for(j = 0; 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: