程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu3080 The plan of city rebuild

hdu3080 The plan of city rebuild

編輯:C++入門知識

簡單最小生成樹。

就是讀題很糾結,什麼原有的路,新建的路,刪除的村莊。

總之,所有給的邊都加上,刪除點的操作就是把與該點相連的所有邊刪除(邊權變成inf就是了),然後求最小生成樹。

用kruskal比較方便判斷不連通的情況。


#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespace std;

struct node
{
    int u,v,w;
}e[40000];

int vis[210],r[210],n,tmp,edge;

int root(int a)
{
    if(a!=r[a])
        r[a]=root(r[a]);
    return r[a];
}

bool cmp(node a,node b)
{
    if(a.w!=b.w) return a.w

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved