本文主要是介绍Codeforces Round #329 (Div. 2)A. 2Char(暴力枚举),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
题意:给出n个单词,只有小写字母组成,然后问如何选择单词,使得组成的长度最长,且组合出的串最多只能有2个字母不同。
解法:暴力枚举2个字母的组合情况,然后在判断。
#include<bits/stdc++.h>
using namespace std;
const int maxn=10005;
const int inf=1<<27;
string str[maxn];
int main(){int n;scanf("%d",&n);for(int i=0;i<n;i++){cin>>str[i];}int ans=0,tmp;for(int i=0;i<26;i++){for(int j=0;j<26;j++){tmp=0;for(int k=0;k<n;k++){bool flag=true;char x='a'+i,y='b'+j;for(int p=0;p<str[k].length();p++){if(str[k][p]!=x&&str[k][p]!=y){flag=false;}}if(flag)tmp+=str[k].length();}ans=max(ans,tmp);}}printf("%d\n",ans);return 0;
}
这篇关于Codeforces Round #329 (Div. 2)A. 2Char(暴力枚举)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!