11218 - KTV
[cpp]描述:直接暴就可以了
#include <cstdio>
#include <cstdlib>
#include <cstring>
#define N 100003
int num[1010][4],s[11];
int n,sum,m=1;
void dfs(int cur,int count)
{
int x=0;
for(int i=1; i<=9; i++)
if(!s[i])
{
x=1;
break;
}
if(cur>=n||!x)
{
if(!x&&count>sum) sum=count;
return;
}
for(int i=cur; i<n; i++)
{
if(s[num[i][0]]+s[num[i][1]]+s[num[i][2]]==0)
{
s[num[i][0]]=s[num[i][1]]=s[num[i][2]]=1;
dfs(cur+1,count+num[i][3]);
s[num[i][0]]=s[num[i][1]]=s[num[i][2]]=0;
}
}
}
int main()
{ www.zzzyk.com
// freopen("a.txt","r",stdin);
while(scanf("%d",&n)!=EOF)
{
if(!n) break;
sum=-1;
memset(s,0,sizeof(s));
for(int i=0; i<n; i++)
scanf("%d%d%d%d",&num[i][0],&num[i][1],&num[i][2],&num[i][3]);
dfs(0,0);
printf("Case %d: %d\n",m++,sum);
}
return 0;
}
补充:软件开发 , C++ ,