今天下午打了第一场省赛选拔赛,八题只AC了三题……

最大的遗憾是碰见一个最短路的水题,就因为英文看了半天,浪费了不少时间,最终迟了一分钟才提交。另外最最大的遗憾就是……我copy了代码,回来在poj提交,居然1Y了……

题目大概是这个意思:按顺序给出各个人与其他人的信息传播所需要时间的关系,建立有向图,求出从哪个人开始传播谣言可以最快让全部人知道。同时,要求出从这个人开始传播开始到最迟收到谣言的人所需要的时间。

下面是我的代码,旁边注有解释:

http://poj.org/problem?id=1125

View Code

 1 #include<stdio.h>
 2 #include<string.h> 
 3 #include<stdlib.h> 
 4 #include<math.h> 
 5 #define MAX 999 //设999为断路
 6  
 7 int s[15][15], t[15][15]; 
 8  
 9 int check(int n, int a) //最短路算法,求最少时间
10 { 
11     int i, j, k; 
12     int max; 
13  
14     for(k=1; k<=n; k++) 
15         if(k!=a) 
16             for(i=1; i<=n; i++) 
17                 for(j=1; j<=n; j++) 
18                     if(j!=a) 
19                         if(t[i][j]>t[i][k]+t[k][j])t[i][j]=t[i][k]+t[k][j]; 
20     max=0; 
21     for(i=1; i<=n; i++)if(max<t[a][i])max=t[a][i]; //求出从第a个人发布到最后一个人收到的时间差
22  
23     return max; 
24 } 
25  
26 void reset(void) //重置数组S
27 { 
28     int i, j; 
29     for(i=0; i<15; i++) 
30     { 
31         for(j=0; j<15; j++) 
32             s[i][j]=MAX; 
33         s[i][i]=0; 
34     } 
35 } 
36  
37 void copy(void) //复制数组S到T
38 { 
39     int i, j; 
40     for(i=0; i<15; i++) 
41         for(j=0; j<15; j++) 
42             t[i][j]=s[i][j]; 
43 } 
44  
45 int main() 
46 { 
47     int i, j, p, q, min, num; 
48     int n, m; 
49     int tmp[15]; 
50  
51     memset(tmp, 0, sizeof(tmp)); //这是用来储存各个人发布时所需要的时间的,以便最后挑选出最快那个
52     while(scanf("%d", &n)&&n) 
53     { 
54         reset(); 
55         for(i=1; i<=n; i++) 
56         { 
57             scanf("%d", &m); 
58             while(m--) 
59             { 
60                 scanf("%d%d", &p, &q); 
61                 s[i][p]=q; 
62             } 
63         } 
64         for(i=1; i<=n; i++) //遍历各种情况
65         { 
66             copy(); 
67             tmp[i]=check(n, i); 
68         } 
69         min=999999; 
70         for(i=1; i<=n; i++) 
71             if(min>tmp[i])min=tmp[i], num=i; 
72         if(min==MAX)printf("disjoin\n"); //如果最小路处理完了后还是断路,那么就是disjoin了
73         else printf("%d %d\n", num, min); 
74     } 
75     return 0; 
76 } 

written by Lyon

转载于:https://www.cnblogs.com/LyonLys/archive/2012/03/10/poj_1125_Lyon.html

poj 1125 Stockbroker Grapevine 代码及分析相关推荐

  1. Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)

    一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...

  2. POJ 1125 Stockbroker Grapevine

    题意:有n个人,传播谣言,每个人向其他人传播的时间作为边权,构成一个有向图,问把谣言告诉谁能最快传到所有人,输出这个人和最短时间. 解法:最短路.一个人传到所有人的最短时间即他到所有人最短路的最大值, ...

  3. poj 1125 Stockbroker Grapevine(Folyd)

    1 //nyoj的数据改成了1000 ,然后就跪了.. 好像大神们用spfa做的 2 #include<iostream> 3 #include<cstdio> 4 #incl ...

  4. poj 1125 Stockbroker(多源最短路径)

    题目来源:POJ 1125 简单题目分析及思路: 题意比较难懂,但是思路是多源最短路径,采用Floyd算法. Floyd是一种动态规划的算法,代码简洁易懂,对于稠密图效率要高于Dijkstra算法,但 ...

  5. c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析

    Python基础语法学习完成,先刷基础题100道巩固 ,附 题目.代码.知识分析 题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index ...

  6. .NET 11 个 Visual Studio 代码性能分析工具

    原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行 ...

  7. 11个Visual Studio代码性能分析工具

    软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...

  8. Blueprint代码详细分析-Android10.0编译系统(七)

    摘要:Blueprint解析Android.bp到ninja的代码流程时如何走的? 阅读本文大约需要花费18分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Andro ...

  9. Rust 阴阳谜题,及纯基于代码的分析与化简

    Rust 阴阳谜题,及纯基于代码的分析与化简 雾雨魔法店专栏 https://zhuanlan.zhihu.com/marisa 来源 https://zhuanlan.zhihu.com/p/522 ...

  10. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

最新文章

  1. B树、B-树、B+树、B*树
  2. 软件开发人员维护代码指南
  3. leetcode-191-Number of 1 Bits
  4. 反序列化 jackson_使用Jackson和Super类型令牌的Json反序列化
  5. 安卓之USB主机(Host)与配件(Accessory)模式
  6. kettle增加字段报错_【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中
  7. python单例模式控制成只初始化一次,常规型的python单例模式在新式类和经典类中的区别。...
  8. Unity3d之Http通讯GET方法和POST方法
  9. aix下oracle 12.1.0.2 asmca不能打开的故障
  10. 毕业论文的6中降重方法
  11. 彻底关闭360安全卫士弹窗广告方法
  12. 数据结构实践项目-------停车场管理系统
  13. android友盟微信分享到朋友圈,2020年友盟分享到微信朋友圈
  14. 躲开混脸熟的车型,一文带你去看2019上海车展里的新面孔
  15. 【Android实现返回主页,禁止返回上一层等功能】
  16. ChatGPT 最好的替代品
  17. Java期末大作业基础项目--在线学生选课系统
  18. Access denied for user 'mysql用户名'@'主机或IP' (using password: YES)'
  19. 我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路
  20. 关于神经网络训练的一些技巧NN Tricks

热门文章

  1. 独家专访@爱可可-爱生活:如何做好科学研究(干货满满)
  2. 【Loss】深度学习的多个loss如何平衡?
  3. Python动态数据展示
  4. 揭秘盒马鲜生,如何打破收益增长天花板!
  5. 别再对 Istio 一脸懵了,万众期待的第一本 Istio 著作现!已!上!市
  6. 构建运营级IPv6网络
  7. SPSS 17.0中文版常用功能与应用实例精讲
  8. 21 意境级讲解 共指消解的方法
  9. 解决DEFINE_string(result_path, result, Path for results) NameError:name 'os' is not defined
  10. api php usdt 以太坊_以太坊PHP离线交易开发包