题目:

思路分析:
其实就是在最短路的条件下多了一约束条件尽可能的使救援队伍更大
数据大于200 Floyd不好用了 直接dji吧!
就是在路径更新时候多一点救援队伍数量的约束
求最短路的路径数也简单 dfs解决就行
代码实现:
const int MAX=1010;
struct node{
int next,to,w;
}e[510*510];
struct l{
int w,v;
bool operator <(const l&a) const{
return w>a.w;
}
};
priority_queue<l>pq;
int head[MAX];
int num[MAX];
int last[MAX];
int val[MAX];
int vis[MAX];
int dis[MAX];
int n,m,s,d;
int cnt;
int ans1;
void add(int u,int v,int w){
e[cnt].w=w;
e[cnt].to=v;
e[cnt].next=head[u];
head[u]=cnt++;
}
//求最短路的数量
void ans(int now,int p){
if(now==d&&p==dis[d]) ans1++;
else {
for(int i=head[now];~i;i=e[i].next){
int v=e[i].to;
6604



被折叠的 条评论
为什么被折叠?



