AlgoMooc
← 返回题库

P2494. 喊7的次数重排

中等通过率 54% · 提交 314 · 通过 169
模拟哈希表数学

小慕正在组织一个聚会,大家围成一圈玩“喊7”的游戏。一共有N个人,按顺时针方向从1到N编号。编号为1的人开始从1喊数,之后每个人喊的数字是前一个人喊的数字加1。但是,如果即将喊出的数字是7的倍数,或者数字本身包含数字7,就不能直接喊出这个数字,而要喊“过”。假设所有参与者都没有失误,总能在正确的时机喊出“过”。当游戏进行到喊到数字K时,可以统计出每个人。 现在,小慕拿到一个长度为N的数组,里面存储了的每个人喊“过”的次数。请你帮小慕把这个数组还原成正确的顺序,即数组的第i个元素对应编号为i的人喊“过”的次数。

提示:带虚线的词点一下有通俗解释。

输入描述

输入为一行,为空格分隔的喊"过"的次数,注意K并不提供,K不超过200,而数字的个数即为N。

输出描述

输出为一行,为顺序正确的喊"过"的次数,也由空格分隔。

示例

示例 1

输入

0 1 0

输出

1 0 0

说明:一共只有一次喊"过",那只会发生在需要喊7时,按顺序,编号为1的人会遇到7,故输出1 0 0。 注意,结束时的K不一定是7,也可以是8、9等,喊过的次数都是1 0 0。

示例 2

输入

0 0 0 2 1

输出

0 2 0 1 0

说明:一共有三次喊"过",发生在7 14 17,按顺序,编号为2的人会遇到7 17,编号为4的人会遇到14,故输出0 2 0 1 0。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。