比赛 暑期小训练题 评测结果 AAAAAAAAAA
题目名称 找最佳通路 最终得分 100
用户昵称 ZooxTark➲ 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2021-07-10 17:07:17
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

int g[60][60] = {0};
int n,m,s,e;

int main()
{
    freopen("city.in","r",stdin);
    freopen("city.out","w",stdout);
    cin >> n >> m >> s >> e;
    memset(g,0x3f,sizeof(g));
    for(int i = 0,a,b;i < m;i++)
    {
        cin >> a >> b;
        g[a][b] = g[b][a] = 1;
    }
    for(int k = 1;k <= n;k++)
    {
        for(int i = 1;i <= n;i++)
        {
            for(int j = 1;j <= n;j++)
            {
                if(g[i][j] > g[i][k] + g[k][j])
                {
                    g[i][j] = g[i][k] + g[k][j];
                }
            }
        }
    }
    cout << g[s][e]+1;
    return 0;
}