舒适的路线
来源:互联网 发布:淘宝主播申请 编辑:程序博客网 时间:2024/04/28 09:39
思路就是并查集+枚举
把每条边按速度排序,从大到小枚举大的边,然后再枚举小的边,都并到一个集合中,如果发现起始点和终止点在一个集合中了,说明当前的边就是当前最大边中的最小边,然后用这个比值更新最终结果,不要忘记约分,而且如果最小边是最大边的因数的话也要特判。
还有就是浮点数的处理,把大边改成浮点型再比上小边,不然codevs只能对三个点
上码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int n, m;int x, y;int pre[501];int high[501];struct line{int to;int from;int w;};line edge[5001];void init(){for (int i = 1;i <= n;i++){pre[i] = i;high[i] = 0;}}int find(int x){if (pre[x] == x)return x;else return pre[x] = find(pre[x]);}void unite(int x, int y){x = find(x);y = find(y);if (high[y] > high[x])pre[x] = y;else {pre[y] = x;if (high[x] == high[y])high[x]++;}}bool cmp(const line& a, const line& b){return a.w > b.w;}int gcd(int a, int b){if (b == 0)return a;else return gcd(b, a%b);}int main(){cin >> n >> m;int max1 = 9999999;int min1 = 1;for (int i = 1;i <= m;i++){cin >> edge[i].from >> edge[i].to >> edge[i].w;}cin >> x >> y;sort(edge + 1, edge + 1 + m,cmp);for (int i = 1;i <= m;i++){init();for (int j = i;j <= m;j++){unite(edge[j].from, edge[j].to);if (find(x) == find(y)){if (float(max1) / min1 > float(edge[i].w) / edge[j].w){max1 = edge[i].w;min1 = edge[j].w;}break;}}}int yue = gcd(max1, min1);if (max1 == 9999999 && min1 == 1)cout << "IMPOSSIBLE";else if (yue == 1)cout << max1 << "/" << min1;else if (yue == min1)cout << max1 / min1;else cout << max1 / yue << "/" << min1 / yue;return 0;}
阅读全文
0 0
- 舒适的路线
- 最舒适的路线
- codevs1001 舒适的路线
- wikioi1001 舒适的路线
- 1001 舒适的路线
- codevs1001 舒适的路线
- 舒适的路线
- wikioi 1001 舒适的路线
- nyoj-最舒适的路线
- wikioi 1001 舒适的路线
- 舒适的路线 2006年
- Codevs 1001 舒适的路线
- codevs 1001 舒适的路线
- Codevs 1001 舒适的路线
- codevs 1001 舒适的路线
- 【codevs 1001】舒适的路线
- codevs 1001 舒适的路线
- 【codevs 1001】舒适的路线
- 让AI变得唾手可得,才是云计算的最新战场
- 属于 MVP 的专属礼物,Xplay6 库里定制机爆表图赏
- 一周预告:狼人杀背后的连麦技术有哪些痛点?听腻了视频鉴黄,音频审核的技术你了解么?| 硬创公开课
- 英特尔涉足区块链,公开海鲜供应链项目
- 个人总结17
- 舒适的路线
- DFS求解出栈顺序,输出所有情况
- 九合创投:这里有一份关于未来的智能互联网Mapping
- java利用xml自定义多表查询,解决vo对象不能传整个对象到后台的解决方案
- 路由器大战之后是智能音箱大战?谷歌密谋发布新硬件对抗Amazon Echo
- PTA 6-2 二叉树的遍历(25 分) 25分代码 (数组实现层次遍历)
- Effective Java读书笔记-接口优于抽象类
- LeetCode 【Operating System】(一)
- 德勤预测:机器学习走向移动端成大势所趋,或将再掀行业新浪潮