试设计一个算法,随机地产生范围在1~n的m个随机整数,且要求这m个随机整数互不相同.
第6题
算法设计:对于给定n堆石子,计算合并成一堆的最小得分和最大得分.
数据输入:由文件input.txt提供输入数据.文件的第1行是正整数n(1≤n≤100),表示有n堆石子.第2行有n个数,分别表示每堆石子的个数.
结果输出:将计算结果输出到文件outpur.txt.文件第1行的数是最小得分,第2行中的数是最大得分.
第8题
算法设计:对于给定的n件工作和n个人,计算最优分配方案和最差分配方案.
数据输入:由文件input.txt提供输入数据.文件的第1行有1个正整数n,表示有n件工作要分配给n个人做.接下来的n行中,每行有n个整数cij(1≤i≤n,1≤j≤n),表示第i个人做第j件工作产生的效益为cij.
结果输出:将计算的最小总效益和最大总效益输出到文件output.txt.
第9题
(13分)设将n(n,1)个整数存放到一维数组R中,试设计一个在时间和空间两方面尽可能有效的算法,将R中保有的序列循环左移P(0﹤P﹤n)个位置,即将R中的数据由(X0 X1 ……Xn-1)变换为(Xp Xp+1 ……Xn-1 X0 X1 ……Xp-1)要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言表述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度