POJ1201 Intervals

来源:互联网 发布:义隆单片机c语言 编辑:程序博客网 时间:2024/06/06 09:26
#include<stdio.h>#include<string.h>int a[50001],b[50001],c[50001],f[50001];int n,xiao,da;void bellman(){int flag=1,i;while(flag){flag=0;for(i=0;i<n;i++)if(f[a[i]]>f[b[i]]-c[i]){f[a[i]]=f[b[i]]-c[i];flag=1;}for(i=xiao+1;i<=da;i++)if(f[i]>f[i-1]+1){f[i]=f[i-1]+1;flag=1;}for(i=xiao+1;i<=da;i++)if(f[i-1]>f[i]){f[i-1]=f[i];flag=1;}}}int main(){int i,j,k;while(~scanf("%d",&n)){xiao=1<<30;da=-1;memset(f,0x3f3f,sizeof(f));for(i=0;i<n;i++){scanf("%d%d%d",&a[i],&b[i],&c[i]);a[i]--;if(xiao>a[i])xiao=a[i];if(da<b[i])da=b[i];}bellman();printf("%d\n",f[da]-f[xiao]);}return 0;}


0 0
原创粉丝点击