编程题
人体生理周期调节 ## 来源 East Central North America 1999; Pacific Northwest 1999 (ZOJ1160, POJ1006) ## 题目描述 有些人相信,人自出生开始就有3个生理周期,分别是:身体、情感和智力周期,周期分别为23、28和33天。每个周期都有一个高峰。在高峰期,人的表现在(身体、情感和智力)生理周期达到最好。 由于3个生理周期有不同的周期长度,各自的高峰通常出现在不同的时刻。我们想知道这3个生理周期在哪一天同时到达高峰期(称之为三高峰期)。对每个生理周期,给定当年该生理周期某个高峰期(不必是第1个)开始到现在的天数。同时给定一个日期,用从当年第1天到该日期的天数来表示。你的任务是计算从给定的日期开始算起,到下一个三高峰期需要的天数。给定的日期不算。例如,如果给定的日期是第10天,下一个三高峰期将发生在第12天,则答案是2而不是3。如果三高峰期恰好出现在给定的日期,需要输出到下一个三高峰期所需的天数。 ## 输入描述 输入文件包含多个数据块。第1行为整数N,接下来是一个空行,之后是N个数据块,每个数据块之间有一个空行。每个数据块包含多个测试数据,每个测试数据占一行,为4个整数,p, e, i, d,前三个整数分别代表当年身体、情感和智力生理周期某个高峰期开始到现在的天数,d代表给定的日期,d可能会比p, e, i中任何一个小,所有整数都是非负的,且最大为365,假定下一个三高峰期所需的天数在21252天以内,每个数据块最后一行为4个-1,代表该数据块结束。 ## 输出描述 输出同样应该包含N个输出块,每两个输出块之间用一个空行隔开。对每个数据块中的每个测试数据,首先输出测试数据的序号,然后是一行信息标明下一个三高峰期所需的天数,格式详见样例输出。 ## 样例输入 ```txt 1 0 0 0 0 0 0 0 100 5 20 34 325 -1 -1 -1 -1 ``` ## 样例输出 ```txt Case 1: the next triple peak occurs in 21252 days. Case 2: the next triple peak occurs in 21152 days. Case 3: the next triple peak occurs in 19575 days. ```
查看答案
赣ICP备20007335号-2