PAT甲级1003 Emergency (C++)

利用C++和深度优先搜索算法解决图的遍历,寻找从初始城市到救援城市的最短路径,并统计沿途最多救援人员。题目涉及城市数量、道路数量及各城市救援人员配置。难度适中,适合深化深搜理解。
摘要由CSDN通过智能技术生成

本题翻译:
题目给出四个数字,分别是N(多少城市)、M(有几条路)、C1(初始城市)、C2(救援城市)
第二行是给出五个城市分别有多少救援人员。
接下来的N行是城市x,城市y,两个城市的距离。
最后求到该城市的最短距离有几条路,在最短距离的情况下最多的救援人员是多少?
本题思路:
利用深度搜索进行图的遍历,寻找最短路径,顺带把救援人员进行统计。
详细代码样例:

//pat1003 深度优先搜索, 要求获得城市有路的连接 2.23 就刷这一道题 把思路捋清楚之后自己再写一遍
//给出四个数字 分别是 城市数量 路的条数 初始城市 救助城市
//每一行给出城市的人数 和距离、
//深度搜索 找最短的路 记录人数,在最短路的前提下 找最多的人数
#include <bits/stdc++.h>
using namespace std;
vector <int> v [500];//v[1]=2说明1号城市有2号城市的路 
int path;//记录到达C2有几条路 
int teams;
int num_of_team[500],dis[500][500];//每个城市救援人数 记录到达该点的最短距离 记录两个城市是否有路
int mindis[500] ;//在没有到之前默认每座城市两端都无穷大 
int N
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值