POJ-1251-Jungle Roads

POJ-1251-Jungle Roads

http://poj.org/problem?id=1251

最短路问题

Kruskal算法和Prim算法都可以

Kruskal

#include
#include
#include
struct cam
{
	int x;
	int y;
	int len;
}list[1000];
int f[1000];
int n,t;
int cmp(const void *a,const void *b)
{
	return (*(struct cam *)a).len-(*(struct cam *)b).len;
}
void init()
{
	int i;
	for(i=1;i<=n;i++)
	f[i]=i;
}
int find(int x)
{
	int r=x;
	while(f[r]!=r)
	r=f[r];
	f[x]=r;
	return r;
}
void Union(int x,int y)
{
	f[x]=y;
}
int main()
{
	int i,m,len,num,ans;
	int fx,fy;
	char ch,str[10];
	while(scanf("%d",&n),n)
	{
		t=0;
		for(i=1;i

Prim

#include
#include
#include
#define INF 99999999
int n;
int map[100][100];
int visit[100];
int dis[100];
void prim()
{
	int i,j,v,temp,sum;
	memset(visit,0,sizeof(visit));
	visit[1]=1;
	for(i=1;i<=n;i++)
	dis[i]=map[1][i];
	dis[1]=0;
	sum=0;
	for(i=1;imap[v][j])
		dis[j]=map[v][j];
	}
	printf("%d\n",sum);
}
int main()
{
	int i,m,len,j;
	char ch,str[5];
	while(scanf("%d",&n),n)
	{
		for(i=1;i<=n;i++)
		{
			for(j=1;j<=n;j++)
		    map[i][j]=INF;
			map[i][i]=0;
		}
		for(i=1;i





你可能感兴趣的:(ACM_图论)