|
Cowcycles
奶牛自行车 Originally by Don Gillies 译 by Felicia Crazy [读者请注意,原题中的一些词语已经被改成了有关奶牛的双关语。] 秀·谢夫(小奶牛)在花花公子杂志上中了大奖,于是她从农村搬到了城郊的一座别墅中。可是她还常常怀念乡村的生活,总想回到原来的农村逛逛。为了环保,秀决定骑上为她量身定做的奶牛自行车(特殊的自行车,专门为牛蹄设计)。 秀大约有一吨重。同样的,秀在普通的奶牛自行车上,要想骑得平平稳稳,也不是一件容易的事。因此,调节奶牛自行车的变速器让秀心力交瘁。 帮助秀选择她的奶牛自行车前面 F (1 <= F <= 5)个齿轮和后面 R (1 <= R <= 10)个齿轮,使她的 F*R 奶牛自行车符合下面的标准: 前面齿轮的型号(齿的数量)必须在给定的范围内。 1 n
平均数 = --- SUM xi
n i=1
1 n 方差 = --- SUM (xi - 平均数)2 n i=1 计算并确定最佳齿轮组合(其中 F 个前齿轮,R 个后齿轮),使方差最小(传动比率至少是 3x)。 PROGRAM NAME: cowcycle INPUT FORMAT 第一行是 F 和 R,表示前齿轮和后齿轮的数量。第二行包括 4 个数字:F1,F2(25 <= F1 < F2 <= 80),R1,R2(5 <= R1 < R2 <= 40)。从 F1 到 F2 型号的前齿轮都是可用的;从 R1 到 R2 型号的后齿轮都是可用的。至少会有一组合法的解。 SAMPLE INPUT (file cowcycle.in) 2 5 OUTPUT FORMAT 在第一行从小到大输出前齿轮的型号,用空格分开。在第二行从小到大输出后齿轮的型号,同样用空格分开。当然,齿轮的齿数一定是整数。 如果有多个解,输出前齿轮齿数最小的那一个(第一个齿轮齿数最小的,若第一个齿轮齿数相等,输出第二个齿轮齿数最小的……依此类推)。如果所有的前齿轮齿数都相等,照着上面的办法处理后齿轮(其实就是把第一个,第二个……齿轮分别设为第一,第二……个关键字来排序)。 SAMPLE OUTPUT (file cowcycle.out) 39 53 Comment 注释 这个问题最大的挑战就是“读懂题目”。慢慢读,不要想一步登天。如果你读不懂题目,还是得一遍一遍的把它读进去。 问题要我们找出“最佳齿轮组合”,即传动比率最接近平均数的组合。考虑下面的测试数据: 2 5 对于每一种可能,做下面的计算。举个例子来说,对于枚举到的第一种情况:前齿轮是 39 和 40,后齿轮是 12,13,14,15 和 16。 首先,计算所有可能的传动比率: 39/12 = 3.25000000000000000000 然后,对它们进行排序: 39/16 = 2.43750000000000000000 然后,计算差的绝对值: 2.43750000000000000000 - 2.50000000000000000000
= 0.06250000000000000000 然后计算平均数和方差。平均数是(我是这么认为的)0.0995370370370370370366666.。方差大约是 0.00129798488416722。 找出使方差最小的齿轮组合。 |