题意是给出岛的坐标,如果两岛之间的距离满足d>=10 && d<=1000,就可以修一条路
修一米的费用是100元
要使得所有岛都连通,输出修桥的费用,如果不能连通,输出“oh!”
就是典型的并查集,因为题目给的是岛的坐标,所以写一个循环,将所有满足可以修桥的两岛存到一个结构体数组里(用t来存储桥的数量),结构体包含两岛的编号a,b(int),两岛的距离(double)
并查集代码
for(int i=0;i<t;i++){
int p=find_root(map[i].a);
int q=find_root(map[i].b);
if(p==q)//如果这两个点的根相同,代表已经连通,跳过这次循环不做处理
continue;
parent[p]=q;//否则将他们合并(相当于修了一座桥
ans+=map[i].d;//修的桥长加
}
需要区分n是岛的数量,t是桥的数量,已经下标是从0开始还是从1开始
java
我写一个jdbcUtilsText来测试我的javaUtils类然后报异常了
好像是因为connection conn没有取到值,也就是说是我的javaUtils类错了
jdbcUtils
说是29行错了,也不晓得啥错可能是没获取到路径吧,不懂
自闭