洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

来源:互联网 发布:网络掉包测试软件 编辑:程序博客网 时间:2024/04/29 15:57

呃呃呃,一开始看的时候似乎——————SPFA?揉揉眼睛,发现就是一道巨水无比的dp。

可以设从初始星球带哦第I层J号星球的最小花费为F[I,J],则很容易得出状态转移方程:f[i,j]:=min(f[i-1,k]+cost)

嗯。(不要学蒟蒻口头禅。。。)

直接贴代码:

#include <iostream>
#include <cstdio>
using namespace std;
int m,l,d[110],t[110];    
int main(){
    int n,i,j,k;
    scanf("%d",&n);
    for (i=1;i<=n;i++){
        scanf("%d",&k);
        for (j=1;j<=k;j++){
            d[j]=10000000;       
            scanf("%d",&l);
            while (l!=0){
                scanf("%d",&m);
                if (d[j]>t[l]+m) d[j]=t[l]+m;
                scanf("%d",&l);
            }
        }
        for (j=1;j<=k;j++){
            t[j]=d[j];
        }
    }
    int ans=1000000;
    for (i=1;i<=k;i++){
        if (ans>d[i]) ans=d[i];
    }
    printf("%d",ans);
    return 0;
}

阅读全文
1 0
原创粉丝点击