Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

求大神指导(题下面和大家提供的测试数据都过了,还是WA)

Posted by whazmy at 2011-07-20 17:51:36 on Problem 1251
#include<stdio.h>
#define Max 200
int prime(int village[30][30],int n)
{
	int i,j,k,p,q,wm,min=0;
	p=q=n-1;
	village[q][q]=1;
	for(k=0;k<(n-1);k++)
	{
		wm=Max;
		for(i=0;i<n;i++)
			if(village[i][i]==1)
				for(j=0;j<n;j++)
					if(village[j][j]!=1&&village[i][j]<wm)
					{
						wm=village[i][j];
						p=i;
						q=j;
					}
					village[q][q]=1;
					min+=wm;
					if(p>q) village[p][q]=-village[p][q];
					else village[q][p]=-village[q][p];
	}
	return min;
}
int main()
{
	int k,n,a,b,i,j,vi,min;char huiche[10];
	while(scanf("%d",&n)&&n!=0)
	{
		int village[30][30];
		for(k=0;k<n-1;k++)
		{
			scanf("%s%d",huiche,&a);
			while(a--!=0)
			{
				scanf(" %s%d",huiche,&b);
				vi=(int)huiche[0]-65;
				village[k][vi]=b;
				village[vi][k]=b;
			}
		}
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				if(village[i][j]<0)
				{
					if(i==j) village[i][j]=0;
					else
					village[i][j]=Max;
				}
		min=prime(village,n);
		printf("%d\n",min);
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
				village[i][j]=-1;
		}

	}
	return 0;
}


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator