目录
B-2 生日推算 手动模拟
有一道推理题的原文是这样的:甲、乙、丙、丁、戊的生日是在连续的五天里,先后顺序满足以下条件:
- 甲比丙大几天,乙就比戊小几天;
- 丁比戊大 2 天;
- 丙的生日是在星期三。
问另外四人的生日分别在星期几?
现在我们把条件一般化,任意打乱他们的顺序,任意给定其中一人的生日,请你编写程序推算另外四人的生日分别在星期几。
注意到在上述条件描述中,只有“戊”这个人是没有任何信息直接给出的,其他人都有一个与他人关系或自己生日的描述。
输入格式:
输入分 5 行,每行给出一个人的已知信息。其中:
- 如果是一个 [1, 7] 区间内的整数,则表示这个人的生日已知。数字 1 到 7 顺次表示星期一到星期日。
- 如果是一个问号
?
,则表示这个人是原文中的“戊”,没有任何信息直接给出。 - 如果是
-2
,则表示这个人比?
对应的人大 2 天。 - 如果是
-x
,则表示这个人比那个生日已知的人大x
天。 - 如果是
+x
,则表示这个人比?
对应的人小x
天。
输出格式:
在一行中按照输入的顺序给出对应每个人的生日,数字间和行首尾都不要有空格。
输入样例:
3
?
-2
-x
+x
输出样例:
32714
注意:星期一的前一天是星期日。样例输出中,第三个人最大,是星期日过生日。
条件提取
- 甲、乙、丙、丁、戊的生日是在连续的五天里
- 甲比丙大几天,乙就比戊小几天
- 丁比戊大 2 天
- 我们把条件一般化,任意打乱他们的顺序,任意给定其中一人的生日,请你编写程序推算另外四人的生日分别在星期几。
- 如果是一个 [1, 7] 区间内的整数,则表示这个人的生日已知。数字 1 到 7 顺次表示星期一到星期日。
- 如果是一个问号
?
,则表示这个人是原文中的“戊”,没有任何信息直接给出。 - 如果是
-2
,则表示这个人比?
对应的人大 2 天。 - 如果是
-x
,则表示这个人比那个生日已知的人大x
天。 - 如果是
+x
,则表示这个人比?
对应的人小x
天。 - 数字 1 到 7 顺次表示星期一到星期日。
- 按照输入的顺序给出对应每个人的生日,数字间和行首尾都不要有空格。