Universal Cup Judging System

Universal Cup

時間限制: 2.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓
统计

為咗判斷有根樹係咪同構(喺呢題入面,你唔需要預先識得樹同構嘅背景知識),一種常見嘅算法係使用樹雜湊(tree hashing)。如果用咗合適嘅雜湊函數,唔同構嘅有根樹好大機會會得出唔同嘅雜湊值,但係雜湊碰撞亦都好難完全避免。

雜湊函數有各式各樣嘅實現方式,但有啲雜湊函數嘅設計並唔係咁正確。小 C 就有一個咁樣「唔係幾正確」嘅雜湊函數,定義如下:設 $sz_x$ 為 $x$ 嘅子樹入面包含嘅節點數量,$son_x$ 為 $x$ 嘅所有子節點組成嘅集合。對於一棵以 $r$ 為根嘅有根樹,佢嘅雜湊值 $h(r)$ 定義為:

$$h(r) = 1 + \sum_{v \in son_r} h(v) \times f(sz_v)$$

其中 $f$ 代表由正整數集去到正整數集嘅任意映射,即係 $f \in \{\varphi : \mathbb{Z}^+ \to \mathbb{Z}^+\}$。特別地,只得一個節點嘅有根樹嘅雜湊值係 $1$。

接落嚟,小 C 定義:對於兩棵有根樹,如果無論點樣揀 $f$,都冇可能計出唔同嘅雜湊值,就稱呢兩棵樹係不可區分嘅;否則,如果存在某種 $f$ 嘅揀法,令到呢兩棵樹可以計出唔同嘅雜湊值,就稱呢兩棵樹係可區分嘅。

小 C 想利用呢個雜湊函數生成盡可能多嘅有根二元樹(即係每個節點最多得兩個子節點嘅有根樹)。小 C 希望你可以計出包含 $n$ 個節點、而且兩兩可區分嘅有根二元樹最多有幾多棵。當然,答案可能會好大,所以小 C 為你準備咗一個模數 $p$,你需要將結果對 $p$ 取模。

輸入

呢題包含多組測試資料。輸入嘅第一行包含一個整數 $T$($1 \le T \le 10000$),代表測試資料嘅組數。

對於每組測試資料,輸入包含一行,入面有兩個整數 $n, p$($1 \le n \le 3000, 2 \le p \le 10^9 + 9$),分別代表有根樹嘅節點數量同埋小 C 提供嘅模數。

保證所有測試資料嘅 $n$ 總和唔超過 $10000$。

輸出

對於每組測試資料,輸出一行包含一個整數,代表答案對 $p$ 取模嘅結果。

範例

範例輸入 1

8
1 1000000009
5 1000000009
10 1000000009
15 1000000009
100 1000000009
150 1000000009
1000 1000000009
1500 1000000009

範例輸出 1

1
6
207
10904
478868953
202933416
152259136
264735211

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.