C++不知哪里错了,WA了三个点

P1252 马拉松接力赛

每名队员必须参加比赛,也就是说每个人至少跑#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


上一页 |