记录编号 548880 评测结果 AAAAAAA
题目名称 脑短路 最终得分 100
用户昵称 GravatarZooxTark➲ 是否通过 通过
代码语言 C++ 运行时间 0.059 s
提交时间 2020-02-01 17:56:35 内存使用 14.00 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>

using namespace std;

int node[300];
int edge[300][300];

int main()
{
    freopen("short_circuit.in","r",stdin);
    freopen("short_circuit.out","w",stdout);
    int m,n,k;
    cin >> m >> n >> k;
    for(int i = 0;i < m;i++)
    {
        for(int j = 0;j < m;j++)
        {
            edge[i][j] = 100001;
        }
    }
    for(int i = 0;i < m;i++)
    {
        cin >> node[i];
    }
    int a,b,o;
    for(int j = 0;j < n;j++)
    {
        cin >> a >> b >> o;
        edge[a][b] = o + node[a];
        edge[b][a] = o + node[b];
    }
    for(int k = 0;k < m;k++)
    {
        for(int i = 0;i < m;i++)
        {
            for(int j = 0;j < m;j++)
            {
                if(edge[i][j] > edge[i][k] + edge[k][j])
                {
                    edge[i][j] = edge[i][k] + edge[k][j];
                }
            }
        }
    }
    int count = 0;
    for(int i = 0;i < m;i++)
    {
        for(int j = 0;j < m;j++)
        {
            if(edge[i][j] < k)
            {
                count++;
                //cout << i << " " << j << " " << edge[i][j] << endl;
            }
        }
    }
    cout << count;
    return 0;
}