QOJ.ac

QOJ

时间限制: 1.0 s 内存限制: 512 MB 总分: 100 可 Hack ✓

#8487. 滑板车数

统计

Partoburg 的居民经常违反交通规则,发生涉及滑板车的事故,并偷窃他人的滑板车。为了控制与滑板车相关的事件,Partoburg 的警长引入了一套滑板车登记系统。

每月的第一天,警长会选择一个自然数 $n$,并打印出所有可能的滑板车编号,格式为 $[a_1 + a_2 + \dots + a_k]$,其中 $a_1 + a_2 + \dots + a_k = n$,且自然数 $a_i$ 按非递减顺序排列:$a_1 \le a_2 \le \dots \le a_k$。每个编号都是唯一的:不会有两个滑板车拥有相同的编号。这些编号会被分配给滑板车车主。如果车主在某个月没有获得编号,则该月不能使用滑板车。

警长本人也骑滑板车出行。为了便于识别他的滑板车,它拥有一个特殊的编号格式。警长的滑板车编号是一个通过以下方式计算出的单一数字:对于本月所有的滑板车编号 $[a_1 + a_2 + \dots + a_k]$,计算其 $\text{mex}\{a_1, a_2, \dots, a_k\}$ 值——即该编号中缺失的最小自然数。将这些值求和。警长的滑板车编号即为该总和除以 $10^9 + 7$ 的余数。

警长想要自动化滑板车编号分配系统,并从他自己的滑板车开始。本月他选择了数字 $n$。请帮助确定他的滑板车将获得什么编号。

输入格式

输入的第一行包含一个自然数 $n$ —— 警长本月选择的数字 ($1 \le n \le 1000$)。

输出格式

输出一个整数 —— 警长的滑板车编号:一个介于 $0$ 到 $10^9 + 6$ 之间的整数,即本月所有滑板车编号的 $\text{mex}$ 值之和除以 $10^9 + 7$ 的余数。

样例

样例输入 1

1

样例输出 1

2

样例输入 2

3

样例输出 2

6

说明

在第一个样例中,$n = 1$。唯一可能的编号是 $[1]$。在这种情况下,警长的滑板车编号为 $\text{mex}\{1\} = 2$。

在第二个样例中,$n = 3$。所有可能的编号为 $[1 + 1 + 1]$,$[1 + 2]$,$[3]$。在这种情况下,警长的滑板车编号为 $\text{mex}\{1, 1, 1\} + \text{mex}\{1, 2\} + \text{mex}\{3\} = 2 + 3 + 1 = 6$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.