连接https://atcoder.jp/contests/abc143/tasks/abc143_e

题目大意:

在一个无向图中,当前的油量为L,给出q个问题,判断从a到b需要多少加几次油,路上每个节点都可以加油,输出需要加油的最少次数

AC代码:

#include<bits/stdc++.h>
using namespace std;
const int N=;
typedef long long ll;
const ll inf=1e15+;
ll arr[N][N];
ll brr[N][N];
int main(){
ll n,m,l;
cin>>n>>m>>l;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
if(i!=j) arr[i][j]=brr[i][j]=inf;
} ll x,y,z; for(int i=;i<=m;i++){
scanf("%lld%lld%lld",&x,&y,&z);
arr[x][y]=z;
arr[y][x]=z;
} for(int k=;k<=n;k++){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
arr[i][j]=min(arr[i][j],arr[i][k]+arr[k][j]);
} for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
if(arr[i][j]<=l&&i!=j) brr[i][j]=;
} for(int k=;k<=n;k++){
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
brr[i][j]=min(brr[i][j],brr[i][k]+brr[k][j]);
}
int q;
cin>>q;
while(q--){
int a,b;
cin>>a>>b;
if(brr[a][b]>=inf) cout<<-<<endl;
else cout<<brr[a][b]-<<endl;
}
return ;
}

最新文章

  1. Resource Acquisition Is Initialization(RAII Idiom)
  2. python raw String 获取字符串变量中的反斜杠
  3. php函数ob_start()、ob_end_clean()、ob_get_contents()
  4. C语言 百炼成钢1
  5. SQL笔记 [长期更新] (-2013.7)
  6. jQuery_效果(隐藏和显示)
  7. 如何让你的Python程序支持多语言
  8. URAL 1203 Scientific Conference dp?贪心
  9. debian(wheezy) chrome beta 38.0.2x.xxx Shockwave Flash was crashed 该解决方案崩溃.
  10. EF6.0执行sql存储过程案例
  11. 安卓EditText按钮
  12. 转:修改Tomcat控制台标题
  13. JQuery Ajax 设置请求头信息application/json
  14. 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决
  15. 如何在 windows server 2008 上面 挂载NFS
  16. sql server top 10 IO性能查询
  17. 单点登录的三种实现方式 转自: https://blog.csdn.net/python_tty/article/details/53113612
  18. P2080 增进感情(背包DP)
  19. 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
  20. C++中如何对输出几位小数进行控制(setprecision)

热门文章

  1. hdu1541树状数组(降维打击)
  2. 李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪
  3. [源码分析] 从实例和源码入手看 Flink 之广播 Broadcast
  4. 文件映射(Windows核心编程)
  5. 字节转换函数 htonl*的由来与函数定义...
  6. Linux - 文件的三种时间之atime、ctime、mtime的区别和简单用法
  7. SpringCloud服务的注册发现--------Eureka实现高可用
  8. Thread Future模式
  9. String是否相等、new的时候创建了几个对象等问题详解
  10. 安装 MySQL 过程记录