POJ 1724 ROADS
2016-07-21 21:41
417 查看
ROADS
#include<iostream> #include<cstdio> #include<queue> #include<cmath> #include<cstring> #include<algorithm> using namespace std; const int maxn=10000+5; int N,K,R; int best[105][maxn],shortRoad=(1<<30),vis[maxn]; struct Point{ int to,L,T; Point(int to,int L,int T): to(to),L(L),T(T){} }; vector<Point> G[maxn]; void dfs(int u,int k,int cur) { if(cur>shortRoad) return; if(best[u][k]<cur) return; else best[u][k]=cur; if(u==N) { shortRoad=min(shortRoad,cur); return; } for(int i=0;i<G[u].size();i++) { int v=G[u][i].to,l=G[u][i].L,t=G[u][i].T; if(k-t>=0) { vis[v]=1; dfs(v,k-t,cur+l); vis[v]=0; } } } int main() { int s,e,l,t; scanf("%d%d%d",&K,&N,&R); for(int i=1;i<=R;i++) { scanf("%d%d%d%d",&s,&e,&l,&t); G[s].push_back(Point(e,l,t)); } memset(best,0x7f,sizeof(best)); vis[1]=1; dfs(1,K,0); cout<<shortRoad<<endl; return 0; }
相关文章推荐
- 查看 jvm Xss 命令
- C语言实现面向对象
- 利用virt-manager,xmanager, xshell启动界面来管理虚拟机
- Pasha and Stick
- Restaurant--贪心
- 百练 4116 拯救行动
- PAT-B 1019. 数字黑洞
- 百练 04 简单的整数划分问题
- Java操作Mongodb(转载)
- angular的http三种请求方式
- 切片的更多操作方法
- spark在linux下开发使用程序包下载 tgz
- L - Kefa and Company
- 牛逼哄哄的SLAM技术 即将颠覆哪些领域?
- linux 新建一个管理员用户admin,需要使用的参数()
- Java操作Mongodb(转载)
- 理解逐次逼近寄存器型ADC:与其它类型ADC的架构对比【转】
- java订电影票系统
- 设计模式综述
- K - Spongebob and Joke