题目描述

异形卵潜伏在某区域的一个神经网络中。其网络共有N个神经元(编号为1,2,3,…,N),这些神经元由M条通道连接着。两个神经元之间可能有多条通道。异形卵可以在这些通道上来回游动,但在神经网络中任一条通道的游动速度必须是一定的。当然异形卵不希望从一条通道游动到另一条通道速度变化太大,否则它会很不舒服。

现在异形卵聚居在神经元S点,想游动到神经元T点。它希望选择一条游动过程中通道最大速度与最小速度比尽可能小的路线,也就是所谓最舒适的路线。

输入

第一行: K 表示有多少组测试数据。 
接下来对每组测试数据:
第1行: N M
第2~M+1行: Xi Yi Vi (i=1,…..,M)
表示神经元Xi 到神经元Yi之间通道的速度必须是Vi
最后一行: S T ( S  T )

【约束条件】
2≤K≤5 1<N≤500 0<M≤5000 1≤ Xi, Yi , S , T ≤N 0< Vi <30000,
Vi是整数。数据之间有一个空格。

输出

对于每组测试数据,输出一行:如果神经元S到神经元T没有路线,输出“IMPOSSIBLE”。否则输出一个数,表示最小的速度比。如果需要,输出一个既约分数。

样例输入

2
3 2
1 2 2
2 3 4
1 3
3 3
1 2 10
1 2 5
2 3 8
1 3

样例输出

2
5/4

AC代码:

#include<bits/stdc++.h>  //包含c++中所以得头文件
using namespace std;
int father[5050];
int K,N,M;
struct node{int x,y,v;
}s[5050];
int find(int x){while(x!=father[x])x=father[x];return x;
}
void merage(int x,int y){x=find(x);y=find(y);if(x>y)father[x]=y;else father[y]=x;
}
int cmp(node a,node b){return a.v>b.v;
}
int gcd(int a,int b)  {  while(b!=0)  {  int t=a%b;  a=b;  b=t;  }  return a;
}
int main()
{int i,j,k,a,b;int S,T;double l;while(cin>>K)while(K--){cin>>N>>M;for(i=0;i<M;i++)cin>>s[i].x>>s[i].y>>s[i].v;cin>>S>>T;sort(s,s+M,cmp);l=INT_MAX*1.0;for(i=0;i<M;i++){for(j=0;j<N;j++)father[j]=j;for(k=i;k<M;k++){if(find(s[k].x)!=find(s[k].y)) merage(s[k].x,s[k].y);if(find(S)==find(T))break;}if(k==M)break;if(s[i].v*1.0/s[k].v<l){a=s[i].v,b=s[k].v;l=s[i].v*1.0/s[k].v;}}if(l==INT_MAX)printf("IMPOSSIBLE\n");else if(a%b==0)cout<<a/b<<endl;else cout<<a/gcd(a,b)<<"/"<<b/gcd(a,b)<<endl;}return 0;
}

最舒适的路线 第六届相关推荐

  1. nyoj711zznu1624 最舒适的路线(第六届河南省程序设计大赛 广搜)

    上次用了并查集的方法A了  这次用广搜试试~ 难点就在于两个点之间可能有多条路线. 在这里我用了edge[x][y]数组标记x--y这条边出现的次数.每遍历一次就减一,成功ac #include &l ...

  2. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 广东赛区

    简 介: 参加第十六届全国大学生智能车线上全国总决赛赛道设计与审核内容. 关键词: 智能车竞赛,线上比赛,赛道审核 §01 赛道审核 一.东莞理工学院 1.全向行进 ▲ 图1.1.1 赛道设计与铺设 ...

  3. 第十六届智能车竞赛总决赛线上比赛赛道设计

    简 介: 根据2021年第十六届全国大学生智能汽车竞赛组委会商议确定使用线上比赛的方式完成比赛的后半程,全国总决赛.这种方式与以前的线上比赛相比具有相同性,也有其特殊性.需要在线上比赛的赛道设计以及比 ...

  4. 第十六届智能车竞赛西部赛区

    智能车竞赛西部赛区曾经连续四届在重庆邮电大学举行,特别是在去年疫情期间,西部赛区依然在重庆体育馆成功举行线下竞赛.今年第十六届智能车竞赛移步到具有"耐劳苦.尚俭朴.勤学业.爱国家" ...

  5. 第十六届全国大学生智能汽车竞赛安徽赛区赛事指南

    主办单位:安徽省教育厅 中国自动化学会 承办单位:安徽中医药大学 合肥工业大学 中国 合肥 2021年7月 §01 赛事简介   全国大学生智能汽车竞赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡 ...

  6. 第十六届智能车竞赛华南赛区纪实

    2021年7月17日到2021年7月19日,为期三天的年第十六届全国大学生智能汽车竞赛华南赛区选拔赛在承办学校桂林电子科技大学落下帷幕.本次华南赛区选拔赛最终有来自来自福建.广西.湖南.湖北.海南五省 ...

  7. 2021年第十六届全国大学生智能汽车竞赛线上比赛的广东、山东赛区赛道铺设规范

    简 介: 由于受到疫情影响,第十六届全国大学生智能汽车竞赛在广东省.山东省采用线上比赛的方案,本文对八个竞速组别的比赛赛道铺设方案进行介绍. 关键词: 智能车竞赛,赛道 §01 比赛环境与赛道 一.综 ...

  8. 2021年第十六届全国大学生智能汽车竞赛赛道铺设规范

    简 介: 针对在第十六届全国大学生智能汽车竞赛八个竞速组别的比赛赛道铺设方案进行介绍. 关键词: 智能车竞赛,赛道 §01 比赛环境与赛道 一.综述   每年一度的 全国大学生智能汽车竞赛 将会在暑期 ...

  9. 第十六届全国大学生智能车竞赛华南赛区竞赛事宜的通知

    华南赛区竞赛事宜的通知 华南赛区各参赛学校:   为顺利完成第十六届全国大学生智能汽车竞赛华南赛区的组织和竞赛工作,按秘书处要求通知如下: 一.报名   目前各参赛队伍已经完成了分赛区比赛的报名.   ...

最新文章

  1. python中notebook_Jupyter Notebook--学习python必不可少的工具
  2. python3随笔-相关系数
  3. boost::signals2::shared_connection_block相关的测试程序
  4. 基于遗传算法实现自动组卷
  5. error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
  6. Java序列化机制原理,java面试题,java基础笔试题,BAT
  7. python 获取浏览器句柄下的网页控件_python webdriver操作浏览器句柄
  8. tia v15 添加项目_基于博途V15 西门子S7-1200 星三角启动实例演示
  9. 哲学家都在干些什么_哲学家们都干了些什么——哲学是什么
  10. 【开源资讯】开源文档管理系统 Wizard 1.2.5 发布
  11. ubuntu设置成中文详细贴图教程
  12. Serializer及ModelSerializer的使用
  13. Android Audio - HAL 层多声卡同时录音框架设计(多语言)
  14. openwrt开发--驱动程序IPK包开发(GPIO控制)
  15. 如何进行大文件传输?
  16. Android可收缩伸展的Expandable分组RecyclerView
  17. Unity 3D 海水的实现1 海水网格的生成 LOD优化海水
  18. H5中的history单页面,手动实现单页面开发,细说h5单页面原理
  19. Java —— 日期时间 API
  20. 解决Gitlab的The remote end hung up unexpectedly错误

热门文章

  1. arthas 排查内存溢出_小学妹问我:如何利用可视化工具排查问题?
  2. “触达率图”新功能上线,量化网页浏览深度
  3. 推送改变世界!Push提高用户活跃度的三不原则
  4. Oracle 备份还原
  5. Java编程基础25——多线程上
  6. linux安全配置-将ssh服务隐藏于Internet(端口碰撞)
  7. jquery获取data-*返回undefined小记
  8. 利用FastJSON 把list和map转换成Json
  9. JavaScript对象的创建之动态原型方式
  10. 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)