阿里3.29笔试第二题

#include<bits/stdc++.h>
using namespace std;
#define inf 99999999
#define N 102
int e[N][N], dis[N], visit[N];

int main(){
int test;
cin >> test;
int m, n, d;
while(test--){
cin >> m >> n >> d;
fill(e[0], e[0] + N*N, inf);
for(int i = 0; i < n; i++){
int x, y, z;
cin >> x >> y >> z;
e[x][y] = e[y][x] = z;
}
int minval = inf;
int minindex = 0;
for(int k = 0; k < m; k++){
fill(visit, visit + N, 0);
fill(dis, dis + N, inf);
dis[k] = 0;
//dij
for(int i = 0; i < m; i++){
int u = -1, min = inf;
for(int j = 0; j < m; j++){
if(!visit[j] && dis[j] < min){
min = dis[j];
u = j;
}
}
if(u != -1){
visit[u] = 1;
for(int v = 0; v < m; v++){
if(!visit[v] && e[u][v] != inf){
if(dis[u] + e[u][v] < dis[v]){
dis[v] = dis[u] + e[u][v];
}
}
}
}
}  //end dij
//处理
int cnt = 0;
for(int i = 0; i < N; i++){
if(i != k && dis[i] <= d){
cnt++;
}
}
if(cnt <= minval){
minval = cnt;
minindex = k;
}
}
cout << minindex;
}
return 0;
}

/*

1
4 4 4
0 1 3
1 2 1
2 3 1
1 3 4

*/
#阿里巴巴##笔试题目#
全部评论

相关推荐

2025-12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务