求助 求宽度#7 8出错
查看原帖
求助 求宽度#7 8出错
606039
wutfei楼主2022/11/12 23:35

代码如下

#include <bits/stdc++.h>
using namespace std;
int w[101][101];
int main()
{
   int n;
   cin >> n;

   int temp = n - 1;

   for (int i = 0; i <= n; i++)
   {
   	for (int j = 0; j <= n; j++)
   	{
   		if (i == j)
   		{
   			w[i][j] = 0;
   		}
   		else {
   			w[i][j] = w[j][i] = 1000000;
   		}
   	}
   }

   while (temp--)
   {
   	int a, b;

   	cin >> a >> b;

   	w[a][b] = 1;
   	w[b][a] = 2;
   }

   for (int k = 1; k <= n; k++)
   {
   	for (int i = 1; i <= n; i++)
   	{
   		if (i != k)
   		{
   			for (int j = 1; j <= n; j++)
   			{
   				if (j != k && j != i && w[i][k] + w[k][j] < w[i][j])
   				{
   					w[i][j] = w[i][k] + w[k][j];
   				}
   			}
   		}
   	}
   }

   int max = 0;
   int max_ = 0;
   int temp1 = 1;
   for (int i = 2; i <= n; i++)
   {
   	if (w[1][i] > max)
   	{
   		max = w[1][i];
   	}

   	if (w[1][i] == w[1][i + 1])#这里出问题
   	{
   		temp1++;
   	}
   	else {
   		if (temp1 > max_)
   		{
   			max_ = temp1;
   		}

   		temp1 = 1;
   	}
   }

   int p, q;
   cin >> p >> q;

   int sum = w[p][q];

   cout << max + 1 << endl << max_ << endl << sum;

   return 0;
}

求宽度出错

2022/11/12 23:35
加载中...