求助 orz
  • 板块灌水区
  • 楼主ruye
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/3/22 16:46
  • 上次更新2023/10/23 20:51:57
查看原帖
求助 orz
757864
ruye楼主2023/3/22 16:46

为什么我对dist数组初始化0x3f但是最后判断时用的是0x3f3f3f3f

int dijkstra(){
	memset(dist, 0x3f, sizeof dist);
	
	dist[1] = 0;
	for(int i = 1; i <= n; i ++){
		int t = -1;
		for(int j = 1; j <=n; j++){
			if(!vis[j] && (t == -1 || dist[t] > dist[j])){
				t = j;
				
			}
		}
		vis[t] = true;
		
		for(int j = 1; j <= n; j++){
			dist[j] = min(dist[j], dist[t] + g[t][j]); 
		}
	}	
	if(dist[n] == 0x3f3f3f3f) return -1;
	else return dist[n]; 
}
2023/3/22 16:46
加载中...