poj 1789 最小生成樹)

2021-06-18 10:28:15 字數 613 閱讀 8204

題意:給出n個卡車,每個卡車的型別是七個字元組成的,一種卡車可以從另一種卡車派生來的,代價是兩種卡車間型別不同字元的個數,求出這n中卡車派生的最小代價,n種車有一 種是開始就有的,n-1種是派生出來的。

思路:因為剛開始有一種卡車,所以就是加n-1條把所有車連起來,就是最小生成樹了。。

#include#include#includeconst int n=2010;

char str[n][10];

int num,f[n];

struct edge

e[n*n];

void addedge(int x,int y,int w)

int cmp(void const *a,void const *b)

int dis(int i,int j)

return sum;

}int find(int a)

int main()

{ int i,j,n,x,y,sum;

while(scanf("%d",&n)!=-1&&n)

{ num=0;

for(i=1;i<=n;i++)

{ scanf("%s",str[i]);

for(j=1;j

POJ 1789 最小生成樹 Prim

題目描述 給予n個長度為7的字串,定義兩字串間的代價為同一位置不同的字元的個數,現在要聯通所有的字串求最小代價。思路 一開始使用krustal演算法,然而因為是稠密圖導致tle,換用prim。krustal tle include include include include define n 2...

poj1789 最小生成樹 prim

水題。題目大意 用乙個7位的字串代表乙個編號,兩個編號之間的distance代表這兩個編號之間不同字母的個數。乙個編號只能由另乙個編號 衍生 出來,代價是這兩個編號之間相應的distance,現在要找出乙個 衍生 方案,使得總代價最小,也就是distance之和最小。很容易想到,將每兩個頂點間的di...

POJ 1789最小生成樹(kruscal演算法)

這題其實是密的,比較適合用prim演算法,但是我現在想練習一下自己的並查集運用,所以只用了kruscal演算法 題意就是字串中,串與串比較,其中一串是拿來做參考,其他如果其中的字元改變最小,就是最佳的 就是 繼承 比如 4 aaaaaaa baaaaaa abaaaaa aabaaaa第一行作為參考...