用过excel没
rand()函数可以生成0~1的随机实数
也就是说,你要生铅老橡成0~1000的数据槐旁可以这样做
=int(rand()*1000)
然后点着单元格的右下角扩展 右边的行就是数据的个数
最后 复制 出来 粘贴 到 .in文件就是了
如果正式比赛没有excel、 自己写程序吧
pascal randomize+random()
c/含升c++ srand()+rand()
分析:《城市交通》问题的图论模型很简单。如果只考虑从城市1到城市n的最少时间,那么,这个问题就是一道亮唯经典的最短路径问题。因此,这个问题乍看上去,就给人一种熟悉的感觉。而实质呢?问题的“变数”在于市政府的改革措施很奇特(每加一条公共汽车路线,两个街区之间的旅行时间就缩短为原来的一半),这就弄得人不知所措。{是否是关键路径的问题??}显然,这个改革不能分步执行,即它不具有“贪心法”的要求,而如果采用搜索的方敬扰培法,时间效率会很低。那么该如何解决呢?还是采用Floyd-Warshall的算法思想。在计算增加m条边的最优解(使最短路下降最快)的过程中,我们同样可以发现:
1、将道路a-b上增加的m条边可以分为如下两个问题(如果k是最短路上的一点)
1. ⑴求a-k增加t条边;
2. ⑵求k-b增加m-t条边。
t可以取从0至m的任意值。问题a-b增加m条边的最优解取决与这两个子问题的最优解。
2、在求m条边的李困过程中,始终只与增加t条边与增加m-t条边的子问题发生联系。
以上两个特点即为“无后效性”与“最优子问题”。所以,“城市交通”问题可采用动态程序设计方法。设
val[a,b,m]的值为增加m条线路后城市a到城市b的最短路长。其中val[a,b,0]的值为原交通图中边城市a至城市b的最短路,可以直接使用floyd算法计算;
val[a,b,m]=min{val[a,k,t]+val[k,b,m-t]}(其中t为从0到m中的一个数,k为a到b中间的一点)
1、48就烂槐是字符'0'的枝老内码,同样49是'1'...57是'9'。2、猛历升mod
11结果就是0-10,0-9可以直接表示,10就用X了;if(c[i]
==
'X')
t
=
10else
t
=
c[i]
-
48
是个逆转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)