您的位置:首页 > 其它

spfa

2016-04-24 11:37 381 查看
#include<iostream>
#include<stdio.h>
#include<queue>
using namespace std;
const int maxx = 105;
const int INF = 99999999;
int map[maxx][maxx],dist[maxx];
bool visit[maxx];
int n;//路径数
void sofa(int a)
{
int i,now;
memset(visit,false,sizeof(visit));
for(int i=1;i<=n;i++) dist[i]=INF;
dist[a]=0;
queue<int>Q;
Q.push(a);
visit[a]=true;
while(!Q.empty())
{
now=Q.front();
Q.pop();
visit[now]=true;
for(int i=1;i<=n;i++)
{
if(dist[i]>dist[now]+map[now][i])
{
dist[i]=dist[now]+map[now][i];
if(visit[i]==false)
{
Q.push(i);
visit[i]=true;
}
}
}
}
}
int main()
{

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: