上交三月月赛[SJTU] 1105 path
这题主要是字符读入的问题吧,对于NAME的读入,一直getchar()到',',对于后面的五个属性from,to,length,people number,light只读数字就可以了,而且他们的处理相同,可以用一个函数来实现下面是代码:1. #include<iostream>
2. #include<cstdio>
3. #include<cstring>
4. #include<queue>
5. #include<algorithm>
6. using namespace std;
7. struct Edge{
8. long a,b;
9. };
10. struct Edge e[30002];
11. long pos[1001],next[30002],d[1001];
12. long w[30002][3];
13. bool v[1001];
14. long n,m,s,t,tt,tot;
15.
16. long init(void)
17. {
18. char c;
19. long k=0;
20. c=getchar();
21. while (!((c>='0')&&(c<='9'))){c=getchar();}
22. while ((c>='0')&&(c<='9')){
23. k=k*10+c-'0';
24. c=getchar();
25. }
26. return k;
27. }
28.
29. void build(long x,long y,long len,long pn,long light)
30. {
31. tot++;
32. e[tot].a=x;e[tot].b=y;w[tot][0]=len;w[tot][1]=pn;w[tot][2]=light;
33. next[tot]=pos[x];
34. pos[x]=tot;
35. }
36.
37. void spfa(long s,long t,long QU)
38. {
39. queue<long> q;
40. memset(v,sizeof(v),0);
41. for (long i=1;i<=n;i++)d[i]=1000000000;
42. d[s]=0;v[s]=true;q.push(s);
43. while (!q.empty())
44. {
45. long now=q.front();q.pop();
46. long k=pos[now];
47. while (k)
48. {
49. long y=e[k].b;
50. if (d[y]>d[now]+w[k][QU])
51. {
52. d[y]=d[now]+w[k][QU];
53. if (!v[y])
54. {
55. q.push(y);v[y]=true;
56. }
57.
58. }
59. k=next[k];
60. }
61. v[now]=false;
62. }
63. printf("%ld",d[t]);
64. if (QU!=2)cout<<' '; else cout<<endl;
65.
66. }
67.
68. int main()
69. {
70.
71.
72. cin>>tt;
73. while(tt--){
74. cin>>n>>m>>s>>t;
75. tot=0;
76. memset(pos,0,sizeof(pos));
77. for (long i=0;i<m;i++)
78. {
79. char s;
80. s=getchar(); while (s!=',') s=getchar();
81. long x=init();//cout<<x<<endl;
82. long y=init();//cout<<y<<endl;
83. long len=init();//cout<<len<<endl;
84. long pn=init();//cout<<pn<<endl;
85. long light=init();//cout<<light<<endl;
86. build(x,y,len,pn,light);
87. build(y,x,len,pn,light);
88. }
89. spfa(s,t,0);
90. spfa(s,t,1);
91. spfa(s,t,2);
92. }
93. return 0;
94. }
转载于:https://www.cnblogs.com/USTC-ACM/archive/2013/03/11/2954398.html
上交三月月赛[SJTU] 1105 path相关推荐
- 上交三月月赛[SJTU] 1106 sudoku
题目大意:给出一道数独题,判断该数独是否有解且有唯一解. 解题思路: 由前几题的难度得,此题的难度不会太过分,所以简单暴力就可以了,40ms用时一本满足. 简单地讲一下具体的实现,从左上开始从左到右从 ...
- 【洛谷月赛】洛谷三月月赛题解报告
昨天就是洛谷三月月赛,小编考的并不好,才31分,隔壁大佬50分,于是小编决定改一改题,先看第一题: P5238 整数校验器 题目描述 有些时候需要解决这样一类问题:判断一个数 x 是否合法. x 合法 ...
- 洛谷P5238 整数校验器【三月月赛】
题目描述 https://www.luogu.org/problemnew/show/P5238 主要考虑的有几点 1.单独"-"是不行的,-0类似的也不行,00,01,02这样的 ...
- 洛谷三月月赛——P5238 整数校验器
题目链接: P5238 整数校验器 题目描述 有些时候需要解决这样一类问题:判断一个数 xxx 是否合法. xxx 合法当且仅当其满足如下条件: xxx 格式合法,一个格式合法的整数要么是 000,要 ...
- 上海市计算机学会竞赛平台(iai.sh.cn)2023三月月赛(丙组)解题报告
前言 总的来说这次的丙组偏简单,像我这个菜鸟都能在赛场上AK,之前的比赛后两题会有递归搜索并且要有一定的数学思维,但这次并没有什么高深的算法或者数学思维. 一到三题不用多说,是模拟题,可能带点技巧.从 ...
- 安恒赛php_安恒11月月赛周周练writeup
前言 11月月赛 完美错过时间,正好有周周练,基本都是一样月赛的web,记录下write up 手速要快 这题是10月月赛中的一题,直接看我上次的writeup:安恒月赛(十)web-2题writeu ...
- 何凯明团队又出新论文!联合北大、上交用ViT做迁移学习,效果惊人!
转自:新智元 [导读]何凯明团队又发新论文了!这次他们研究的是如何将预训练好的ViT迁移到检测模型上,使标准ViT模型能够作为Mask R-CNN的骨干使用.结果表明,与有监督和先前的自我监督的预 ...
- USACO全部月赛及GateWay数据
月赛: 以07年open为例,网站如下 http://contest.usaco.org/OPEN07 其他的格式是http://contest.usaco.org/月份(月份的英文前三位,比如1月是 ...
- python实现查收电子文件作业上交情况(完更)
python实现查收电子文件作业上交情况(完更) 本文涉及正则匹配.生成表格 代码段已更新,新增匹配未交名单功能 每周都要收班里的C语言作业,上一个收C语言作业的人已经查文件查疯了,我不能重蹈覆辙,所 ...
最新文章
- ASP截取字符 截取字符之间的字符
- HDU 2897 邂逅明下(简单博弈)
- Angular compiler报的一个错误消息:Component XX is not part of any NgModule
- 修改win10我的文档下载等移动别处
- 【中级】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 01 - 文件组成详细分析
- (android实战)第三方应用反编译并修改UI信息后,重新编译
- linux 使用expect 实现自动登录
- 无缝对接Spark与R:Sparklyr系列—探讨属于数据科学家的Spark
- 银河麒麟操作系统添加字体
- 核电厂功能安全分类、软件可靠性以及相关标准
- 数据挖掘之拟合优度检验
- EditPlus 编程背景色设置与代码高亮
- [PYTHON]批量合并WORD文档,DOCX格式
- ORA-20005: object statistics are locked (stattype = ALL)-转
- matlab2017b怎么进行sil测试,用 SIL 和 PIL 仿真测试生成的代码
- 幕客学习CSS3全面基础知识点
- linux监控某个端口流量抓包,tcpdump命令 – 监听网络流量
- 计算机网络八股文-面试必问
- 我使用的IJK拉流直播播放器
- matlab小波变换图像融合,MATLAB小波变换的图像融合算法的研究与实现+代码
热门文章
- Android中级篇之百度地图SDK v3.5.0-一步一步带你仿各大主流APP地图定位移动选址功能
- spring解决ajax跨域问题
- Linux学习笔记之 pstree,htop,glances,dstat 命令使用
- Java之基础(1) - 编程中“为了性能”尽量要做到的一些地方
- HDU 4267 A Simple Problem with Integers
- 深入理解printf 之一 问题引出
- Linux下网络编程
- Prometheus 由于时间不同步导致数据不显示
- Vue学习笔记第一天--es6
- 交换机定时自动备份配置文件的方法