最新消息:

信息学奥赛题库- 寿司晚宴

C++ 少儿编程 1057浏览 0评论

【题目描述】

为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。

在晚宴上,主办方为大家提供了 $n−1$ 种不同的寿司,编号 $1,2,3,…,n−1$,其中第$i$种寿司的美味度为 $i+1$ (即寿司的美味度为从 $2$ 到 $n$)。

现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐的当且仅当:小 G 品尝的寿司种类中存在一种美味度为 $x$ 的寿司,小 W 品尝的寿司中存在一种美味度为 $y$ 的寿司,而 $x$ 与 $y$ 不互质。

现在小 G 和小 W 希望统计一共有多少种和谐的品尝寿司的方案(对给定的正整数 $p$ 取模)。注意一个人可以不吃任何寿司。

【输入】

输入文件的第 $1$ 行包含 $2$ 个正整数$n,p$,中间用单个空格隔开,表示共有 $n$ 种寿司,最终和谐的方案数要对 $p$ 取模。

【输出】

输出一行包含 $1$ 个整数,表示所求的方案模 $p$ 的结果。

【输入样例】

4 10000

【输出样例】

21

【提示】

【样例输入2】

100 100000000

【样例输出2】

3107203

【数据规模与约定】

子任务会给出部分测试数据的特点。如果你在解决题目的过程中遇到了困难,可以尝试只解决一部分测试数据。

每个测试点的数据规模及特点如下表:

测试点编号 $n$的规模 约定
$1$ $2≤n≤30$ $0≤p≤10^9$
$2$
$3$
$4$ $2≤n≤100$
$5$
$6$ $2≤n≤200$
$7$
$8$ $2≤n≤500$
$9$
$10$

您必须 登录 才能发表评论!