每名队员必须参加比赛,也就是说每个人至少跑#1km
超级坑,各位一定注意
by 子谦。 @ 2017-12-17 16:49:00
```cpp
#include <cstdio>
const int n=5;
const int m=10;
int a[6][11],ans=1<<30,as[6],t[6];
void dfs(int i,int sum,int s){
if(s>=25)return ;
if(i==n){
int tt=25-s;
if(tt<11)
if(ans>sum+a[i][tt]){
ans=sum+a[i][tt];t[i]=tt;
for(int j=1;j<=n;j++)
as[j]=t[j];
}
return ;
}
for(int j=1;j<=10;j++)
t[i]=j,dfs(i+1,sum+a[i][j],s+j);
}
int main(){
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
dfs(1,0,0);
printf("%d\n",ans);
for(int i=1;i<=n;i++)printf("%d ",as[i]);
return 0;
}
```
你还好啦,我对三个
by lili_flyingcutter @ 2018-01-27 18:26:38
```cpp
#include <cstdio>
const int n=5;
const int m=10;
int a[6][11],ans=1<<30,as[6],t[6];
void dfs(int i,int sum,int s){
if(s>=25)return ;
if(i==n){
int tt=25-s;
if(tt<11)
if(ans>sum+a[i][tt]){
ans=sum+a[i][tt];t[i]=tt;
for(int j=1;j<=n;j++)
as[j]=t[j];
}
return ;
}
for(int j=1;j<=10;j++)
t[i]=j,dfs(i+1,sum+a[i][j],s+j);
}
int main(){
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
dfs(1,0,0);
printf("%d\n",ans);
for(int i=1;i<=n;i++)printf("%d ",as[i]);
return 0;
}
```
你还好了,我就对三个点
by lili_flyingcutter @ 2018-01-27 18:28:43
跟我代码好像
by lili_flyingcutter @ 2018-01-27 18:30:20
@[Captain\_Paul](/space/show?uid=43471)
by lili_flyingcutter @ 2018-01-27 18:32:11
@[lili的](/space/show?uid=36616) 字典序
by huangxuhan @ 2018-10-26 19:20:06