一本通OJ 1376

一本通OJ 1376_第1张图片
由于数据范围很小,直接 Floyd 暴力多元最短路即可。

#include 

using namespace std;

int mp[210][210];

int main()
{
  int n, m;
  cin >> n >> m;
  memset (mp, 0x3f, sizeof mp);
  while (m --)
  {
    int a, b, c;
    cin >> a >> b >> c;
    mp[a][b] = mp[b][a] = c;
  }
  for (int k = 1; k <= n; k ++)
    for (int i = 1; i <= n; i ++)
      for (int j = 1; j <= n; j ++)
        mp[i][j] = min(mp[i][j], mp[i][k] + mp[k][j]);
  int mx = 0;
  for (int i = 2; i <= n; i ++)
    if (mp[1][i] == 0x3f3f3f3f)
    {
      cout << "-1\n";
      return 0;
    }
    else
      mx = max(mx, mp[1][i]);
  cout << mx << '\n';
  return 0;
}

凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
凑字数凑字数凑字数凑字数

你可能感兴趣的:(一本通oj,c++,算法,数据结构)