題目鏈結
此題是求最小生成樹的變形,需要從點和座標中抽象出邊的資訊,再利用kruskal求得最小生成樹,不過要注意邊是否符合要求,不然無法使用。看最後能否構成最小生成樹;
**#include #include#include#includeusing namespace std;
struct edge
}buf[5000];
struct point
}list[105];
int tree[105];
int find(int x)//並查集找根
return ret;
}int main()
}sort(buf, buf + size);
for (int i = 1;i <= n;i++) tree[i] = -1;//對陣列初始化,每乙個都是乙個根
double ans = 0;
for (int i = 0;i < size;i++)
}int count = 0;
for (int i = 1;i <= n;i++)
if (count == 1) printf("%.1lf\n", ans * 100);
else cout << "oh!" << endl;
} return 0;
}**
hdu 1875 暢通工程再續
題目 又是最小生成樹。一開始錯了幾次。我以為是當兩段路大於1000或者小於10就會不符合要求。其實是讀錯題意了。當兩段路大於1000或者小於10。只應該把這段路變成死路。下面是ac include includeusing namespace std define n 9999999 int n d...
HDU 1875 暢通工程再續
題目大意 其實就是求最小生成樹 不過唯一坑的地方在於只要求實現任意2個小島之間有路通即可,至少2個島連通 如果2個島不通才輸出oh 解題思路 標準的最小生成樹的模板 限制條件2島距離在10 1000公尺之間 普利姆演算法 include include include include include...
HDU 1875 暢通工程再續
題意 相信大家都聽說乙個 百島湖 的地方吧,百島湖的居民生活在不同的小島中,當他們想去其他的小島時都要通過劃小船來實現。現在 決定大力發展百島湖,發展首先要解決的問題當然是交通問題,決定實現百島湖的全暢通!經過考察小組rprush對百島湖的情況充分了解後,決定在符合條件的小島間建上橋,所謂符合條件,...