P1130 红牌
Posted pangbi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1130 红牌相关的知识,希望对你有一定的参考价值。
题意:给出n个步骤,m个小组,每个步骤有完成所需时间
求最少的完成时间
步骤有第一个步骤开始逐一计算
每一步可以有本小组计算,或者本小组的下一小组来计算(第n个小组的下一个小组时第一个小组)
思路:数字三角形做法
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=2e3+10; 4 int a[maxn][maxn]; 5 int ans[maxn][maxn]; 6 int main() 7 { 8 int n,m; 9 scanf("%d%d",&n,&m); 10 for(int i=1;i<=m;i++) 11 for(int j=1;j<=n;j++){ 12 scanf("%d",&a[i][j]); 13 } 14 for(int j=1;j<=n;j++){ 15 for(int i=1;i<=m;i++){ 16 if(i==1) ans[i][j]=min(ans[m][j-1],ans[1][j-1]); 17 else ans[i][j]=min(ans[i][j-1],ans[i-1][j-1]); 18 ans[i][j]+=a[i][j]; 19 // printf("ans:%d ",ans[i][j]); 20 } 21 // printf(" "); 22 } 23 int res=ans[1][n]; 24 for(int i=2;i<=m;i++) 25 res=min(res,ans[i][n]); 26 printf("%d ",res); 27 return 0; 28 }
以上是关于P1130 红牌的主要内容,如果未能解决你的问题,请参考以下文章