hustoj 昂贵的聘礼
来源:互联网 发布:mac osx 切换root 编辑:程序博客网 时间:2024/06/04 19:56
#include<iostream>#include<string.h>#include<stdio.h>#include<stdlib.h>using namespace std;int M,N,dengji[110];int dis[110],map[110][110];bool vis[110];void dijkstra(int m,int n){ int i,k,num=1; int min; memset(vis,0,sizeof(vis)); memset(dis,127,sizeof(dis)); vis[0]=1; for(i=0;i<=N;i++) if( dengji[i]>=m && dengji[i]<=n) dis[i]=map[0][i]; k=0; while(1) { min=99999999; for(i=0;i<=N;i++) if(dengji[i]>=m && dengji[i]<=n && !vis[i] && min>dis[i]) { min=dis[i]; k=i; } vis[k]=1; if(k==1) return; for(i=0;i<=N;i++) if( dengji[i]>=m && dengji[i]<=n && !vis[i] && dis[i]>dis[k]+map[k][i]) { dis[i]=dis[k]+map[k][i]; } }}int main(){ int i,j,k,t,p; memset(map,127,sizeof(map)); cin>>M>>N; int ans=999999999; for(i=1;i<=N;i++) { scanf("%d%d%d",&map[0][i],&dengji[i],&k); for(j=1;j<=k;j++) { scanf("%d%d",&t,&p); map[t][i]=p; } } for( i=dengji[1]-M; i<=dengji[1]; i++) { dijkstra(i,i+M); if(ans>dis[1]) ans=dis[1]; } cout<<ans<<endl; return 0;}
0 0
- hustoj 昂贵的聘礼
- 昂贵的聘礼,很昂贵
- PKU1062 昂贵的聘礼
- pku1061 昂贵的聘礼
- 昂贵的聘礼
- poj1062 昂贵的聘礼
- POJ1062昂贵的聘礼
- D - 昂贵的聘礼
- poj1062昂贵的聘礼
- 昂贵的聘礼
- POJ1062:昂贵的聘礼
- POJ1062昂贵的聘礼
- 昂贵的聘礼
- POJ_1062_昂贵的聘礼
- PKU1062------昂贵的聘礼
- 昂贵的聘礼 POJ162
- poj1062 昂贵的聘礼
- POJ1062 昂贵的聘礼
- Activity的三种关闭方法分析(finish;onDestory;exit)
- UIscrollView
- 分段和分页
- java面试中遇到的问题
- poj 2536 Gopher II 最大匹配
- hustoj 昂贵的聘礼
- Javascript复习第三天动态显示时间
- 1022
- NYOJ 27 水池数目(深搜)
- redis学习笔记(18)---事件
- Leetcode 237. Delete Node in a Linked List
- gdb 调试利器
- Tableau Desktop简单介绍
- 快速排序2