poj 1751 最小生成树
来源:互联网 发布:淘宝的推广方式有哪些 编辑:程序博客网 时间:2024/05/13 00:28
题目的大意就是现在有些已经连接在一起的边,让你在连接其他的N-M条边,让你计算出其他的各条边的情况,问题是我的答案和他那上面的有些顺序不照居然也AC了,不知道是这道题的数据弱还是什么其他的原因,神奇的一道题啊。。
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;#define INF 10000000struct point{ int x, y;};point city[755],_city[755];int N, M;int _min;int arcs[755][755];bool vis[755];int dist[755],disnode[755];int compare(point a, point b){ return a.x<b.x;}int dis(point p0, point p1){ return ((p0.x-p1.x)*(p0.x-p1.x) + (p0.y-p1.y)*(p0.y-p1.y)); }int prim(){ scanf("%d",&N); for(int i=1; i<=N; i++) scanf("%d %d",&city[i].x, &city[i].y); for(int i=1; i<=N; i++) for(int j=i; j<=N; j++) { arcs[i][j] = arcs[j][i] = dis(city[i],city[j]); // printf("%d ",arcs[i][j]); } int a, b, rec; memset(vis,false,sizeof(vis)); scanf("%d",&M); for(int i=1; i<=M; i++) { scanf("%d %d", &a, &b); arcs[a][b] = arcs[b][a] = 0; } for(int i=1; i<=N; i++) { dist[i] = arcs[1][i]; disnode[i] = 1; } vis[1] = true; int t=0; for(int i=2; i<=N; i++) { _min = INF; rec = 0; for(int j=1; j<=N; j++) if(!vis[j]&&dist[j]<_min) { _min = dist[j]; rec = j; } vis[rec] = true; if(_min != 0) { // printf("%d %d\n", disnode[rec], rec); if(disnode[rec]<rec) { _city[t].x = disnode[rec]; _city[t].y = rec; } else { _city[t].x = rec; _city[t].y = disnode[rec]; } t++; } for(int j=1; j<=N; j++) if(!vis[j]&&dist[j]>arcs[rec][j]) { dist[j] = arcs[rec][j]; disnode[j] = rec; } } return t; }int main(){int n = prim();sort(_city,_city+n,compare);for(int i=0; i<n; i++)printf("%d %d\n",_city[i].x, _city[i].y);system("pause");return 0;}
- poj 1751 最小生成树
- POJ 1751 (最小生成树)
- POJ 1751 Highways 最小生成树
- poj-1751-Highways-(最小生成树)
- POJ 1751 - Highways(最小生成树)
- poj 1751 Highways(最小生成树)
- poj 1751 Highways(最小生成树)
- poj 1751 Highways (水最小生成树)
- POJ 1751 Highways(最小生成树)
- poj-1751 Highways 最小生成树
- poj 1751 highways 最小生成树
- POJ 1751 Highways (Kruskal 最小生成树)
- POJ 1751 Highways(最小生成树prim)
- POJ - 1751 Highways(最小生成树)
- poj 1751 Highways 最小生成树 prim
- poj-1751 Highways 最小生成树
- poj 1751 Highways(最小生成树)
- POJ 1751 Highways 最小生成树
- 设计模式实例与代码:Abstract Factory模式
- 管理好自己的时间
- poj 1088 滑雪 记忆化搜索
- UITableView 基本使用方法
- sdram/ddr 功耗计算
- poj 1751 最小生成树
- linux内核学习设备模型之第二层bus_register
- linux内核学习设备模型之第二层driver_register
- 给你所有HR(面试官)的一封信
- UITextField常用控件
- 静态邻接表
- b-interview-d
- 屏参理解
- IOS控件学习