POJ 1062 昂贵的聘礼 最短路 难度:0
2015-08-24 11:57
330 查看
http://poj.org/problem?id=1062
#include <iostream> #include <cstring> #include <queue> using namespace std; int m,n; struct adjlist{ int c[101],t[101]; }a[101]; int d[101],tm[101],l[101],r[101]; queue<int >que; int abs(int x){ return x>0?x:-x; } int spfa(int ls,int ll){ que.push(1); int f,t; r[1]=0; while(!que.empty()){ f=que.front(); que.pop(); for(int i=0;i<tm[f];i++){ t=a[f].t[i]; if(l[t]<=ll&&l[t]>=ls&&r[t]>r[f]+a[f].c[i]){ r[t]=r[f]+a[f].c[i]; que.push(t); } } } int minn=1000000; for(int i=1;i<=n;i++){ minn=min(minn,r[i]+d[i]); } return minn; } int main(){ ios::sync_with_stdio(false); int temp; cin>>m>>n; for(int i=1;i<=n;i++){ cin>>d[i]>>l[i]>>tm[i]; temp=tm[i]; for(int j=0;j<temp;j++){ cin>>a[i].t[j]>>a[i].c[j]; } } int ans=10000; for(int i=l[1]-m;i<=l[1];i++){ for(int j=1;j<=n;j++)r[j]=100000; ans=min(ans,spfa(i,i+m)); } cout<<ans<<endl; return 0; }
相关文章推荐
- 故障管理系统--select两级联动查询
- DNN结构演进History—RNN
- appcompat 问题
- FragmentTabHost切换Fragment时避免UI重新加载
- 关于UIScrollView的alwaysBounceVertical属性
- 【十三】继承中的构造与析构
- 浅析std::shared_ptr::owner_before
- 借贷宝推广得现金是真的_注册就送人民币20元_邀请码CRJYQTK
- Cube Stacking 1988 (并查集 好题)
- js中的substring和substr的小区别
- Java内存屏障和可见性
- Java OCR 图像智能字符识别技术,可识别中文
- Java知识总结---MVC模式解析之SpringMVC(三)
- 【Android笔记】各个屏幕的logo尺寸要求
- ASP.NET MVC 使用Redis共享Session
- windows下面python复制文件的几种方法
- ubutu查看cpu温度工具和方法
- SASS的安装和转换为CSS的方法
- PE中重要数据结构(winnt.h)
- 【分享】Cross Days【日文硬盘版】(带全CG存档&日文攻略+v1.00a破解启动补丁)