Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150365 | 梁乃元 | 香甜的黄油 | C++ | 解答错误 | 0 | 7 MS | 1224 KB | 927 | 2024-06-02 21:42:11 |
# include <bits/stdc++.h> using namespace std ; int n , m , p , lke [501] ; int ans , minn = 1 << 30 , f [501] [501] ; int main ( ) { int u , v , c , sum ; cin >> n >> p >> m ; for( int i = 1 ; i <= n ; i ++ ) { for ( int j = 1 ; j <= n ; j ++ ) { f [i] [j] = 1 << 30 ; } f [i] [i] = 0 ; } for ( int i = 1 ; i <= p ; i ++ ) { cin >> lke [i] ; } for ( int i = 1 ; i <= m ; i ++ ) { cin >> u >> v >> c ; f [u] [v] = c ; f [v] [u] = c ; } for ( int i = 1 ; i <= n ; i ++ ) { for ( int j = 1 ; j <= n ; j ++ ) { for ( int k = 1 ; k <= n ; k ++ ) { f [j] [k] = min ( f [j] [k] , f [j] [i] + f [i] [k] ) ; } } } for ( int i = 1 ; i <= n ; i ++ ) { sum = 0 ; for ( int j = 1 ; j <= p ; j ++ ) { sum += f [i] [lke [j]] ; } if ( sum < minn ) { minn = sum ; ans = i ; } } cout << ans << endl ; return 0 ; }