样例能通过,为什么一直WA
查看原帖
样例能通过,为什么一直WA
873417
Istruggle楼主2023/1/2 09:44

究竟是哪里出了问题???

#include<iostream>
#include<cstring>
using namespace std;
int way[105][105],n=-1,c=1;
void Floyd()
{
	for(int k = 1;k <= n;k++)
	for(int i = 1;i<=n;i++)
	for(int j = 1;j<=n;j++)
	way[i][j] = min(way[i][j],way[i][k]+way[k][j]);
}
int main()
{
	memset(way,0x3f,sizeof(way));
	int a,b;
	while(true)
	{
	scanf("%d%d",&a,&b);
	if(a==0&&b==0)
	break;
	way[a][b]=1; 
	n=max(n,max(a,b));
	while(true)
	{
	scanf("%d%d",&a,&b);
	if(a==0&&b==0) break;
	n=max(n,max(a,b));
	way[a][b]=1;
    }
	Floyd();     
	double num=0,t=0;
	for(int i =1;i<=n;i++)
		for(int j = 1;j<=n;j++)
		{
			if(i!=j&&way[i][j]<0x3f) 
			{
				t=t+way[i][j]; 
				num++;
			}
		}
		printf("Case %d: average length between pages = %.3f clicks\n", c++, t/num);
		memset(way,0x3f,sizeof(way));
		t=num=0;
    }
	return 0;
} 
2023/1/2 09:44
加载中...