HDU 2851(Lode Runner )

来源:互联网 发布:paragon ntfs for mac 编辑:程序博客网 时间:2024/06/05 05:46
#include<stdio.h>#include<string.h>struct node{ int a,b,value;}p[2005];int min(int a,int b){ return a<b?a:b;}int main(){ int c,i,j,k,n,m,d; int dp[2005]; scanf("%d",&c); for(i=1;i<=c;i++) { scanf("%d%d",&n,&m); for(j=1;j<=n;j++) { scanf("%d%d%d",&p[j].a,&p[j].b,&p[j].value); } for(j=1;j<=n;j++) dp[j]=-1; dp[1]=p[1].value; for(j=2;j<=n;j++) { for(k=1;k<j;k++) { if(dp[k]!=-1) { if(p[j].a<=p[k].b) { if(dp[j]==-1) dp[j]=dp[k]+p[j].value; else dp[j]=min(dp[j],dp[k]+p[j].value); } } } } for(j=1;j<=m;j++) { scanf("%d",&d); printf("%d\n",dp[d]); } } return 0;}