POJ 1251 Jungle Roads ( Prim , Kruscal )
来源:互联网 发布:nike足球淘宝 编辑:程序博客网 时间:2024/05/22 01:33
基础的最短路,只是初始化麻烦一些。。
不过刚开始老 TEL。。看了discuss 。。才知道数据有问题。。呃。。 改成cin 和cout 就过了。。不过。。。是有空该好好学学C++了= =
//252K 0MS#include <stdio.h>#include <iostream>#include <cstdio>#define MAX_COST 105#define N 28#define DEBUG puts("debug")using namespace std ;int dis_betw[N][N] ;int low_dis[N] ;int flag[N] ;void Init_Dis_Betw ( ){ int i ; for ( i = 0 ; i < N ; i ++ ) { int j ; for ( j = 0 ; j < N ; j ++ ) { dis_betw[i][j] = MAX_COST ; } }}void Init_Flag_And_Low_Dis ( ){ int i ; for ( i = 0 ; i < N ; i ++ ) { flag[i] = 0 ; low_dis[i] = MAX_COST ; }}void Reachable_Matrix ( int const n ){ int i ; for ( i = 1 ; i <= n-1 ; i ++ ) { char row ; cin >> row ; int row_index ; row_index = row - 'A' + 1 ; int count ; //scanf ("%d" , & count ) ; cin >> count ; // getchar ( ) ; while ( count -- ) { char rank ; //scanf ("%c" , & rank ) ; cin >> rank ; int rank_index ; rank_index = rank - 'A' + 1 ; int length ; //scanf ("%d" , & length ) ; cin >> length ; // getchar ( ) ; dis_betw[row_index][rank_index] = dis_betw[rank_index][row_index] = length ; } }}void Prime ( int const n ){ int s ; s = 1 ; Init_Flag_And_Low_Dis ( ) ; flag[1] = 1 ; int prim_weight ; prim_weight = 0 ; int m ; m = 1 ; int new_point ; int new_weight ; while ( m < n ) { new_weight = MAX_COST ; int i ; for ( i = 1 ; i <= n ; i ++ ) { if ( 0 == flag[i] && low_dis[i] > dis_betw[s][i] ) { low_dis[i] = dis_betw[s][i] ; } if ( 0 == flag[i] && new_weight > low_dis[i] ) { new_weight = low_dis[i] ; new_point = i ; } } s = new_point ; flag[s] = 1 ; prim_weight += new_weight ; m ++ ; } cout << prim_weight << endl ;}intmain ( ){ int n ; while ( 1 ) { cin >> n ; if ( 0 == n ) { break ; } // getchar ( ) ; Init_Dis_Betw ( ) ; Reachable_Matrix ( n ) ; Prime ( n ) ; } return 0 ;}
- POJ 1251 Jungle Roads ( Prim , Kruscal )
- poj 1251 Jungle Roads(Prim)
- poj 1251 Jungle Roads(Prim)
- POJ - 1251----Jungle Roads(prim)
- poj 1251 Jungle Roads 【prim】
- POJ 1251 Jungle Roads (prim)
- poj 1251 Jungle Roads【prim & kruskal】
- POJ 1251 Jungle Roads(Prim算法)
- Jungle Roads HDU杭电1301 【Kruscal || Prim】
- POJ 1251 Jungle Roads (Prim算法)&& (Kruskal算法)
- poj 1251 Jungle Roads prim最小生成树基础
- POJ 1251 Jungle Roads(最小生成树裸prim)
- hdu 1301 Jungle Roads &&poj 1251 (prim 或者kruskal)
- POJ 1251 Jungle Roads(Prim or kruskal)
- poj 1251 Jungle Roads 解题报告(kruskal+prim)
- POJ 1251 Jungle Roads (最小生成树 Prim普里姆算法)
- POj 1251 Jungle Roads (Kruskal算法 + Prim算法)
- POJ-1251 Jungle Roads 最小生成树(prim算法)
- 栈的用法
- Problem 17:Number letter counts
- 360主菜单界面
- 《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.3 给客户带来价值,需求分析之正路
- JBPM3 邮件发送终极解决办法
- POJ 1251 Jungle Roads ( Prim , Kruscal )
- 用DataPager与ListView实现分页。
- 人的优秀品质
- [Python入门及进阶笔记]Python-基础-函数小结
- Catlan数笔记
- 近期代码两次出core总结
- E4.1--E2
- hud4709 Herding
- linux screen命令--类似nohuo