hdu 1875 畅通工程再续
来源:互联网 发布:java编写计算器程序 编辑:程序博客网 时间:2024/06/04 19:51
模板走起
#include<iostream>#include<vector>#include<cmath>#include<cstdio> #define inf 1<<30#define maxn 105using namespace std;struct stu{int x,y;};stu mapp[maxn];int n; vector<int>root[maxn];int vaule[maxn][maxn];int visit[maxn];void prim(){int d[maxn];fill(d,d+maxn,inf);fill(visit,visit+maxn,0);double re=0;d[0]=0;int k=0;while(1){int v=-1;for(int i=0;i<n;i++){if(!visit[i]&&(v==-1||d[i]<d[v])) v=i;}if(v==-1||d[v]==inf) break;k++;re+=sqrt(d[v]);visit[v]=1;for(int i=0;i<root[v].size();i++){int x=root[v][i];d[x]=min(d[x],vaule[v][x]);}}if(k==n) printf("%.1lf\n",re*100);else cout<<"oh!"<<endl;}int main(){int t;cin>>t;while(t--){cin>>n;for(int i=0;i<maxn;i++) root[i].clear();for(int i=0;i<n;i++){cin>>mapp[i].x>>mapp[i].y;for(int j=0;j<i;j++){int l=pow(mapp[i].x-mapp[j].x,2)+pow(mapp[i].y-mapp[j].y,2);if(l<100||l>1000000) continue;root[i].push_back(j);root[j].push_back(i);vaule[i][j]=l;vaule[j][i]=l;}}prim();}return 0;}
0 0
- HDU 1875 畅通工程再续
- HDU 1875 畅通工程再续
- acm hdu 1875 畅通工程再续
- hdu 1875 畅通工程再续 (kruskal)
- hdu 1875 畅通工程再续
- HDU 1875 畅通工程再续
- hdu 1875 畅通工程再续
- hdu 1875 畅通工程再续
- hdu 1875 畅通工程再续
- HDU 1875 畅通工程再续
- hdu 1875 畅通工程再续
- hdu 1875 畅通工程再续
- hdu 1875 畅通工程再续
- HDU-1875-畅通工程再续
- HDU-畅通工程再续-1875
- hdu 1875 畅通工程再续
- HDU 1875 畅通工程再续
- hdu(1875)畅通工程再续
- java
- 我个沙茶,居然不会写基数排序
- hdu 1598 find the most comfortable road
- Content模块设计意图
- 使用 Countly 来分析 Apple Watch 统计数据
- hdu 1875 畅通工程再续
- 6个让您获得更佳的移动分析体验的提示
- spring mvc第一个helloword
- 关于我的学习笔记
- 表白专用 !!!
- 总结2
- 久别归家杂想
- 总结3
- 升到win10 洗白激活技巧