QOJ.ac

QOJ

时间限制: 1 s 内存限制: 256 MB 总分: 100

#20297. 伝説のゲーム

统计

最高峰のモバイルゲームを遊んでいるある人は、ある日、契約に署名しようとしているときに遊ばなければならないゲームにひどく腹を立てました。ゲームの内容は次のとおりです。

  • $1$ から $2N+K$ までの数が書かれたカードの山があります。
  • この山から $N$ 枚のカードを1枚ずつ引きます(引いたカードは戻しません。つまり、同じ数を2回引くことはありません)。
  • カードを引いた後、プレイヤーは次のカードの数がそれより大きいか小さいかを予想します。

プレイヤーが腹を立てているのは、運が悪く、小さい数の後にはいつもさらに小さい数が、大きい数の後にはいつもさらに大きい数が出ることです。そこで、ゲームの乱数の仕組みを変更してこれを防ごうとします。その変更によって、カードの引き方に次の2つのルールを追加します。

  • $1$ から $N$ までの数のカードを引いた場合、次に引くカードの数は $N$ より真に大きくなければなりません($>N$)。
  • $N+K+1$ から $2N+K$ までの数のカードを引いた場合、次に引くカードの数は $N+K+1$ より真に小さくなければなりません($<N+K+1$)。

プレイヤーは、この変更によってゲームをどれほど壊してしまったか知りたいと思っています。その程度は、変更後のゲームで可能な異なるカード列の総数を、通常のゲームで可能なカード列の総数で割った比で測ります。この比を $10^9+7$ を法として求めてください。

実装の詳細

次の関数を実装してください。

int oyun(int N, int K)
  • $N$ と $K$ は、問題文で述べたカードの山と引くカードの枚数を決める整数です。
  • この関数は、求める比を返してください。
  • この関数は、各テストでちょうど1回呼び出されます。

制約

  • $1\le N\le 10^6$
  • $1\le K\le 100$

小課題

小課題 配点 追加の制約 依存関係
1 10 $1\le N,K\le 6$ —
2 18 $1\le N\le 100$ 1
3 6 $1\le N\le 1000$ 1, 2
4 47 $1\le N\le 10^4$ 1, 2, 3
5 19 追加の制約はありません 1, 2, 3, 4

入出力例

oyun(2, 1)

上の関数呼び出しは $600000005$ を返す必要があります。

数は $1,2,3,4,5$ です。2枚のカードを引きます。通常の場合、カードの引き方は20通りあります。変更後のゲームでは、最初のカードが $1$、$2$、$4$、$5$ のいずれかなら2枚目のカードには3通りの可能性があり、最初のカードが $3$ なら2枚目のカードには4通りの可能性があります。したがって、変更後のゲームには合計16通りの可能性があります。$\frac{16}{20}=\frac45$ です。この確率は、使用する法において $600000005$ に相当します。

サンプル採点プログラム

サンプル採点プログラムは、各ケースを次の形式で読み込みます。

$$N\ K$$

実装する関数が整数を正常に返した場合、その結果 $R$ を次の形式で出力します。

$$R$$

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#2824EditorialOpenNew Editorial for Problem #20297louyuxuanView

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.