比赛 |
20140414 |
评测结果 |
AAAWWWWWWW |
题目名称 |
奶牛的十项全能 |
最终得分 |
30 |
用户昵称 |
LuciFer_T-J |
运行时间 |
3.024 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2014-04-14 10:47:16 |
显示代码纯文本
#include<cstring>
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,ans,temp,times;
int sum[25],fa[25],k[25],p[25],a[25],s[25][25];
void dfs(int x){
times++;
if (times>8888888) return ;
int i;
if (x==n+1){
sum[0]=0;
for (i=1;i<=n;i++){
sum[i]=sum[i-1]+s[fa[i]][i];
}
temp=sum[n];
for (i=1;i<=m;i++){
if (sum[k[i]]>=p[i]){
temp+=a[i];
}
}
ans=max(ans,temp);
return ;
}
for (i=1;i<=n;i++){
if (fa[i]) continue;
fa[i]=x;
dfs(x+1);
fa[i]=0;
}
}
int main(){
freopen("deca.in","r",stdin);
freopen("deca.out","w",stdout);
int i,j;
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++){
scanf("%d%d%d",&k[i],&p[i],&a[i]);
}
for (i=1;i<=n;i++)
for (j=1;j<=n;j++){
scanf("%d",&s[i][j]);
}
times=0;
ans=0;
memset(fa,0,sizeof(fa));
dfs(1);
cout<<ans<<endl;
}