比赛 顾研NOIP2011模拟赛 评测结果 AAAAAAAAAA
题目名称 项链 最终得分 100
用户昵称 苏轼 运行时间 0.128 s
代码语言 C++ 内存使用 3.15 MiB
提交时间 2012-10-17 20:27:58
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int n,w[30]={0};
int answer=0;
void dfs(int x,int num,int ans);
int main()
{
	freopen ("necklaced.in","r",stdin);
	freopen ("necklaced.out","w",stdout);
	cin>>n;
	for (int i=0;i<n;i++)
	{
		string s;
		cin>>s;
		for (int j=0;j<s.size();j++)
		{
			w[i]+=1<<(s[j]-'A');
		}
	}
	dfs(0,0,0);
	cout<<answer;
	return 0;
}
void dfs(int x,int num,int ans)
{
	if (x==n)
	{
		if (ans>answer&&num==0)
			answer=ans;
	}
	else
	{
		int num1;
		num1=num^w[x];
		dfs(x+1,num1,ans+1);
		dfs(x+1,num,ans);
	}
}