F. Spy-string(暴力)

F. Spy-string(暴力)

傳送門

思路:暴力枚舉,因爲答案字符串與nn個字符串中任何一個都最多有一位不同。

所以任選一個字符串作爲答案字符串,然後對每一位進行從[a,z][a,z]暴力枚舉。

時間複雜度:O(26nm2)O(26nm^2)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
int n,m;
string s[15],str; 
bool fun(){
	for(int i=1;i<=n;i++){
		int cnt=0;
		for(int j=0;j<m;j++){
			if(str[j]!=s[i][j]) cnt++;
		if(cnt>=2) return 0; 
		}
	}
	return 1;
}
#define mst(a) memset(a,0,sizeof a)
int main(){
	int t;
	cin>>t;
	while(t--){
		cin>>n>>m; 
		for(int i=1;i<=n;i++) cin>>s[i];
		bool ok=0;
		for(int i=0;i<m;i++){  //暴力枚舉. 
			 str=s[1];
			 for(char c='a';c<='z';c++){
			 	 str[i]=c;
			 	 if(fun()){
			 	 	 	ok=1;
			 	 	 	break;
				  }
			 }
			 if(ok) break;
		}
		if(ok) cout<<str<<endl;
		else puts("-1");
	}
	return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章