比赛 中秋节快乐! 评测结果 WWWEEEEEEE
题目名称 骑士 最终得分 0
用户昵称 小金 运行时间 1.484 s
代码语言 C++ 内存使用 3.23 MiB
提交时间 2024-09-17 11:58:19
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,a[20],x;
bool map[20][20];
bool check(int x) 
{
	for(int i=1;i<=n;i++)
	{
	    for(int j=1;j<=n;j++)
	    {
	        if(i!=j&&x&(1<<i)&&x&(1<<j)&&map[i][j]) return false;
        }	
    }	
	return true;
}
int calc(int x) 
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
	    if(x&(1<<i)) sum+=a[i];
    }	
	return sum;
}
int main() 
{
    freopen("bzoj_1040.in","r",stdin);
    freopen("bzoj_1040.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i],&x);
        map[i][x-1]=1;
        map[x-1][i]=1;
    } 
	int ans=0;
	for(int i=0;i<(1<<n);i++)
	{
	    if(check(i)) ans=max(ans,calc(i));
    }	
	printf("%d",ans);
	return 0;
}