POJ 2301最小生成樹

2021-09-21 18:49:28 字數 848 閱讀 7602

就是n個點之間的最短距離,跑最小生成樹,wa了七發,在於輸出

1.g++ 的double型別printf輸出用%f,而c++都用%lf(找了半天原因)

求出球心距離,然後減去半徑和,小於0就dis為0。

#include#include#include#include#include#include#includeusing namespace std;

#define ll long long

#define up(i,a,n) for(int i=a;i<=n;i++)

#define pb push_back

const int inf=0x3f3f3f3f;

const int maxn=1e4+10;

bool vis[maxn];

int n,m,tot,ans,cnt;

struct node };

struct node1

arr[maxn];

vectorg[maxn];

void add(int x,int y,double z)

); g[y].pb(node);

}double dis(node1 a,node1 b)

int init()

double prim()

); while(!q.empty()) }

return sum;

}int main()

for(int i=0;i<=maxn;i++)

init();

printf("%.3f\n",prim());

} return 0;

}

POJ 1258 最小生成樹

include include struct fiberfiber 10000 struct farmsfarms 100 void exchange struct fiber fiber,int i,int j int partition struct fiber fiber,int p,int ...

最小生成樹 poj 2485

include include include include include include define m 505 define im 505 505 2 using namespace std int r im int w im int u im int v im int p m int c...

poj1679 最小生成樹

題目大意 判斷是否存在最小生成樹。如果存在,判斷其是否唯一。用prim演算法求最小生成樹。將其中的每一條邊依次替換,權值是否和最小生成樹相同。如果相同,則最小生成樹不唯一。如果都不相同,則唯一。這個prim的模板比較好,可以再求最小生成樹的同時直接進行判斷唯一性。如下 include include...