题意:给你N个城市和M条路和K块钱,每条路有话费,问你从1走到N的在K块钱内所能走的最短距离是多少

链接:http://poj.org/problem?id=1724

直接dfs搜一遍就是

代码:

 #include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <queue>
#include <stack>
#define loop(s,i,n) for(i = s;i < n;i++)
#define cl(a,b) memset(a,b,sizeof(a))
const int maxn = ;
const int inf = ;
using namespace std;
struct node
{
int u,v,len,cost;
int next;
}edges[];
int g[];
int vis[];
int ans;
int n,m;
void dfs(int u,int val,int dis)
{
vis[u] = ;
if(val < )
return;
if(u == n)
{
if(ans > dis)
ans = dis;
return ;
} if(ans < dis)
return; int i; for(i = g[u];i != -;i = edges[i].next)
{
int v;
v = edges[i].v;
int len,cost;
len = edges[i].len;
cost = edges[i].cost;
if(!vis[v])
{
dfs(v,val-cost,dis+len);
vis[v]--;
}
} } int main()
{
int u,v,l,t;
int k;
while(~scanf("%d %d %d",&k,&n,&m))
{
int i;
memset(vis,,sizeof(vis));
cl(g,-);
int cnt = ;
while(m--)
{
scanf("%d%d%d%d",&u,&v,&l,&t);
edges[cnt].u = u;
edges[cnt].v = v;
edges[cnt].len = l;
edges[cnt].cost = t;
edges[cnt].next = g[u];
g[u] = cnt;
cnt++;
}
ans = inf;
dfs(,k,);
if(ans != inf)
printf("%d\n",ans);
else
puts("-1");
}
return ;
}

最新文章

  1. 使用curl传递cookie错误的问题
  2. Python自动化运维工具fabric的安装
  3. C++杂记
  4. Java基础之写文件——通过缓冲流写文件(StreamOutputToFile)
  5. Mingyang.net:java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()
  6. TV端产品设计法则和分析
  7. Mac Yosemite OS10.10 Apache 虚拟主机设置
  8. 刚更新的css hack技巧
  9. Spring和Hibernate相遇
  10. SQL Server与Oracle对比学习:权限管理(二) 一些有趣的比喻
  11. VC2013 添加库文件
  12. 【转】aiohttp 源码解析之 request 的处理过程
  13. ●BZOJ 4822 [Cqoi2017]老C的任务
  14. Java提高篇(二):IO字节流、字符流和处理流
  15. 10张思维导图带你学习Java​Script
  16. win10专业版密钥 亲测可用 不断更新
  17. docker安装和基础操作
  18. Optimization algorithm----Deep Learning
  19. 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值!
  20. JS onclick事件获取空间value

热门文章

  1. Flask之flask-script模块使用
  2. jq--ajax中止请求
  3. Java堆内存设置
  4. ElasticSearch(四) ElasticSearch中文分词插件IK的简单测试
  5. Python3.x:SQLAlchemy操作数据库
  6. 写写Web API基础
  7. Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
  8. [BZOJ4566][HAOI2016]找相同子串
  9. c# iText 生成PDF 有文字,图片,表格,文字样式,对齐方式,页眉页脚,等等等,
  10. Win10m的前景到底在何方?