本题翻译:
题目给出四个数字,分别是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