| 记录编号 | 
        549054 | 
        评测结果 | 
        AAATTTT | 
    
    
        | 题目名称 | 
        3345.脑短路 | 
        最终得分 | 
        42 | 
            
    
    
        | 用户昵称 | 
         ムラサメ | 
        是否通过 | 
        未通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.102 s  | 
    
    
        | 提交时间 | 
        2020-02-05 18:55:00 | 
        内存使用 | 
        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;
}