poj 1062 最短路
来源:互联网 发布:win10 eclipse java 编辑:程序博客网 时间:2024/06/07 12:38
//// main.cpp// poj1062//// Created by Fangpin on 15/6/10.// Copyright (c) 2015年 FangPin. All rights reserved.//#include <iostream>#include <cstdio>#include <cstring>#include <vector>const int inf=0x6f6f6f6f;using namespace std;struct Edge{ int from,to,dist;};vector<Edge> edge1,edge2;struct Data{ int price,level;};vector<Data> data;int d[500],low,high,n;int bf(){ for(int i=0;i<n;++i){ bool flag=false; for(int j=0;j<edge2.size();++j){ Edge &e=edge2[j]; if(d[e.to]>d[e.from]+e.dist){ d[e.to]=d[e.from]+e.dist; flag=true; } } if(!flag) break; } int ans=inf; for(int i=0;i<n;++i){// cout<<i<<" "<<d[i]<<" "<<d[i]+data[i].price<<endl; ans=min(ans,d[i]+data[i].price); }// ans=min(ans,d[i]); return ans;}int main(int argc, const char * argv[]) { int m; while(~scanf("%d%d",&m,&n)){ data.clear(); edge1.clear(); edge2.clear(); int king_level; for(int i=0;i<n;++i){ Data tem; int x; scanf("%d%d%d",&tem.price,&tem.level,&x); if(!i) king_level=tem.level; data.push_back(tem); while(x--){ int to,dist; scanf("%d%d",&to,&dist); Edge e; e.from=i;e.to=to-1;e.dist=dist; edge1.push_back(e); } } low=king_level;high=low+m; int ans=inf;// edge2=edge1;// for(int i=0;i<edge2.size();++i)// cout<<"edge "<<edge2[i].from<<" "<<edge2[i].to<<" "<<edge2[i].dist<<endl;// memset(d,inf,sizeof(d));// d[0]=0;// ans=min(ans,bf()); while(high>=king_level){ edge2.clear(); memset(d,inf,sizeof(d)); d[0]=0; for(int i=0;i<edge1.size();++i){ const Edge &e=edge1[i]; int x=data[e.from].level,y=data[e.to].level; if(x>=low && x<=high && y>=low && y<=high){ edge2.push_back(e); } } ans=min(ans,bf()); --low; --high; } cout<<ans<<endl; } return 0;}
0 0
- poj 1062 最短路
- poj 1062 最短路
- 图论 最短路 poj 1062
- poj 1062 最短路+枚举
- poj 1062 dijkra 最短路
- poj 1062 昂贵的聘礼(最短路)
- poj 1062 最短路
- POJ 1062 最短路 dijskra + 枚举
- poj 1062(有限制的最短路)
- POJ 1062 昂贵的聘礼 最短路
- poj 1062昂贵的聘礼 最短路
- poj 1062 昂贵的聘礼(最短路)
- POJ 1062 昂贵的聘礼 最短路
- poj 1062 dijkstra求最短路变形
- POJ 1062 昂贵的聘礼 最短路
- poj 2253 最短路
- POJ 1135 最短路
- POJ 2267 最短路
- 字节对齐导致sizeof()比实际更大
- 56 data st ructure 6
- 使用Tkinter编写一个简单的提醒小程序
- JSONObject 试错
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- poj 1062 最短路
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- hdu3015 Disharmony Trees
- editplus的proto语法文件
- HTML5之FileReader的使用
- canjs基础教程之Route
- Leetcode[82]-Remove Duplicates from Sorted List II
- JavaEE的web程序中web.xml的作用
- 简介GitHub的使用方法--管理个人代码