E - Travel by Car
2024-09-07 10:01:47
连接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 ;
}
最新文章
- Resource Acquisition Is Initialization(RAII Idiom)
- python raw String 获取字符串变量中的反斜杠
- php函数ob_start()、ob_end_clean()、ob_get_contents()
- C语言 百炼成钢1
- SQL笔记 [长期更新] (-2013.7)
- jQuery_效果(隐藏和显示)
- 如何让你的Python程序支持多语言
- URAL 1203 Scientific Conference dp?贪心
- debian(wheezy) chrome beta 38.0.2x.xxx Shockwave Flash was crashed 该解决方案崩溃.
- EF6.0执行sql存储过程案例
- 安卓EditText按钮
- 转:修改Tomcat控制台标题
- JQuery Ajax 设置请求头信息application/json
- 运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决
- 如何在 windows server 2008 上面 挂载NFS
- sql server top 10 IO性能查询
- 单点登录的三种实现方式 转自: https://blog.csdn.net/python_tty/article/details/53113612
- P2080 增进感情(背包DP)
- 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
- C++中如何对输出几位小数进行控制(setprecision)
热门文章
- hdu1541树状数组(降维打击)
- 李飞飞团队最新论文:基于anchor关键点的类别级物体6D位姿跟踪
- [源码分析] 从实例和源码入手看 Flink 之广播 Broadcast
- 文件映射(Windows核心编程)
- 字节转换函数 htonl*的由来与函数定义...
- Linux - 文件的三种时间之atime、ctime、mtime的区别和简单用法
- SpringCloud服务的注册发现--------Eureka实现高可用
- Thread Future模式
- String是否相等、new的时候创建了几个对象等问题详解
- 安装 MySQL 过程记录