#P1306. 2023.05.10-实习-第一题-塔子哥的茶杯

2023.05.10-实习-第一题-塔子哥的茶杯

题目内容

有一个叫做塔子哥的人,他非常喜欢喝茶。他有 xx 个奇怪的杯子,每个杯子都可以装入一个正整数。塔子哥决定将这些杯子中的个数字压入一个栈中,但他有些规矩:每次他要向栈中压入一个数字,如果这个数字与栈顶数字相同,他就会将这两个数字取出来相加,并且将它们的和的两倍压入栈中。另外,如果栈顶数字等于前面连续的 yy 个数字的和(11 \leq yy \leq xx),他也会将这 yy 个数字取出来相加,并且将它们的和的两倍压入栈中。当然,如果以上两个规则都不满足,他就不会进行任何操作。现在,塔子哥将一组正整数依次压入栈中,请你告诉他最终栈中剩下的数字是什么。

输入描述

使用单个空格隔开的正整数的字符串,如"55 66 77 88", 左边的数字先入栈。

正整数的范围为[11, 23112^{31}-1]

正整数个数的范围为[11,10001000]。

输出描述

最终栈中存留的元素值,元素值使用的单个空格隔开,如"88 77 66 55", 从做至右依次为栈顶至栈底的数字。

样例1

输入

55 66 121 5 5

输出

10 242

解释:向栈压入 121121 时,5555 + 6666 = 121121 ,数据合并后入栈 242242 ,压入两个 55 时,合并为 1010 ,最终栈顶至栈底的数字为 1010242242 .

样例2

输入

7 5 8 9 3

输出

3 9 8 5 7

解释:无任何整数合并