ccf魔数c语言,ccf 201609-4 交通规划
附上代码:
#include#include#include#include#include#include
using namespacestd;#define inf 0xfffffff
intn, m;
typedefstructNODE
{intto;intcost;
friendbool operator < (const NODE &a, const NODE &b) {return a.cost >b.cost;
}
}node;
typedefstructEdge
{int from;intnext;intto;intw;intvalue;
} edge;
edge maps[10000005];int head[100050];int dist[100050];int vids[100050];intcnt;voidcreat ()
{for(int i=0; i<100050; i++)
head[i]=-1;
cnt=0;
}void add(int u,int v,intw)
{
maps[cnt].from =u;
maps[cnt].to=v;
maps[cnt].w=w;
maps[cnt].value=w;
maps[cnt].next=head[u];///一开始放置为-1,-1的条件就可以跳出///下一步接着储存,head[u]的值,就是前面的位置
head[u]=cnt++;///head[u]会得到这条线的值
}int dijkstra(int s,intt)
{for(int i=0; i<100050; i++)
{
vids[i]=0;
dist[i]=inf;
}
priority_queueque;
node begins;
begins.to=s;
begins.cost=0;
que.push(begins);while(!que.empty())
{
node ends=que.top();
que.pop();if(!vids[ends.to])
{
vids[ends.to]=1;
dist[ends.to]=ends.cost;for(int i = head[ends.to]; ~i; i =maps[i].next)
{int to = maps[i].to, w =maps[i].w;
maps[i].w= ends.cost +w;if(!vids[to])
{
node ans;
ans.to=to;
ans.cost=ends.cost+w;
que.push(ans);
}
}
}
}if(dist[t] ==inf)
{return -1;
}else{returndist[t];
}
}bool cmp(const edge & a, const edge &b)
{if(a.w !=b.w)
{return a.w
}return a.value
}int pre[100050];voidInit()
{for(int i=1; i<=m; i++)
pre[i]=i;
}int finds(intx)
{if(pre[x]==x)returnx;else
return pre[x]=finds(pre[x]);
}void unionjoin(int x,inty)
{int u=finds(x);int v=finds(y);if(u==v)return;elsepre[u]=v;
}bool same(int x,inty)
{return finds(x)==finds(y);
}long longkruskal()
{long long ans=0;
sort(maps,maps+ 2 *m,cmp);for(int i = 0; i< 2 * m; i++)
{if(!same(maps[i].from,maps[i].to))
{
unionjoin(maps[i].from,maps[i].to);
ans+=maps[i].value;
}else
continue;
}returnans;
}intmain()
{while(~scanf("%d%d",&n,&m))
{
creat();for(int i = 0; i < m; i ++) {intu, v, w;
scanf("%d%d%d",&u, &v, &w);
add(u, v, w);
add(v, u, w);
}
dijkstra(1, n);
Init();long long re =kruskal();
printf("%lld\n",re);
}return 0;
}
ccf魔数c语言,ccf 201609-4 交通规划相关推荐
- CCF 201912-5 魔数 满分题解
CCF 201912-5 魔数 满分题解 前缀知识 快速乘算法 可以计算两个大数在模m下的乘积而不会溢出 inline ull quickMul(ull a, ull b, ull mod) {a % ...
- CCF NOI1035 数根
问题链接:CCF NOI1035 数根. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 数根是这样定义的:对于一个正整数n,将它的各个数位上的数字相加得到一个新数,如果这个数 ...
- c语言ccf认证考试题库,2016ccf认证考试试题
2016ccf认证考试试题 CDMA认证论坛,即CCF是一个由CDMA运营商和制造商共同建立和维护的全球性非营利组织.该组织致力于建立和规范CDMA终端产品的`全球统一认证和流程,促进CDMA终端产品 ...
- JVM虚拟机-Class文件之魔数
一.魔数之定义 魔数这个词在不同领域代表不同的含义.在计算机领域,魔数有两个含义,一指用来判断文件类型的魔数:二指程序代码中的魔数,也称魔法值. 大多数情况下,我们都是通过扩展名来识别一个文件的类型的 ...
- 【学习笔记】使用魔数快速求平方根
[学习笔记]使用魔数快速求平方根 简介 介绍使用魔数0x1fbd1df5快速求平方根x{\sqrt{x}}x的C语言实现和公式的推导. 代码 float MagicSqrt(float x) {fl ...
- 深入理解Java虚拟机——魔数与Class文件的版本
目录 一.魔数 1.1.魔数的概述 1.2.魔数的作用 1.3.版本号 二.通过Binary Viewer工具查看编译后的Class文件 2.1.Binary Viewer工具的下载与安装 2.2.B ...
- 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机图形学与多媒体)
欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...
- 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机网络)
欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...
- 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机科学理论)
欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...
最新文章
- 大厂程序员追求深圳女老师被拉黑!原因你想不到!
- webpack之 loader
- Linux(Redhat5.5)配置时间服务器(Ntp)法
- 服务器和交换机之间网络协议,网络协议是计算机网络中服务器,计算机,交换机.doc...
- python appium api pc_Appium Python API 中文版
- JDK8新特性(五)之Stream流介绍和获取方式
- Echarts数据可视化开发参数配置全解
- 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
- CUTE FTP 控制连接已关闭
- java泛型类型擦除
- FPGA基础入门【14】开发板VGA视频输出控制
- 常见荧光染料修饰多种基团及其激发和 发射波长数据一览数据
- configure: error: Your system does not support systemd
- 如何甄别有价值的数据
- java测试开发工程师,必须要明白的几处知识(附面试问题)
- oracle中查看pga大小,关于oracle pga大小限制
- html5页面生成动态二维码
- Matlab常用函数2:vpa,roundn
- php laravel框架笔记
- 基于ROS的蛇形机器人基本仿生运动与自主爬台阶控制
热门文章
- java入栈_java中代码块的执行,也会有入栈的步骤吗?
- 三维数据平滑处理_关于CAD三维对象建模
- 优酷视频如何分享个人主页
- win7旗舰版太卡怎么办
- 如何在金山毒霸软件里安装腾讯视频
- java callback 多线程_JAVA Callback效率测试
- 上海电力大学c语言程序设计章测试,上海电力学院c语言报告:实验8 指针.doc
- spring boot配置tomcat部署
- Mysql中几种插入效率的实例对比
- java读excel乱码,【java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,】java读取excel乱码...