题目来源:https://www.luogu.com.cn/problem/P1194
答案导航:https://www.luogu.com.cn/record/233134764
一眼可见的最小生成树模板题,只需要在读入时稍微处理一点点,但就是这一点点我还是掉坑里了……
debug1:关于
for (int i = 1; i <= m; i++) { for (int j = 1; j <= m; j++) { line[idx].u = i; line[idx].v = j; cin >> line[idx].w; if (line[idx].w == 0) { line[idx].w = n; } line[idx].w = min(n, line[idx].w); idx++; } }
之前写成了line[i].u,需要注意实际上应该读入了mm个,用i索引最多只能读m个,就会产生覆盖。
改掉之后忘记把kruskal函数里的for循环中i<=m改成i<idx了,又错一次
debug*2:比较致命的,我在做之前还想好了要处理,即: line[idx].w = min(n, line[idx].w);
,也就是原题目中特地强调的“注意K(i,j)可能大于 A”,这个确实不应该犯错误