QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#20297. اللعبة الأسطورية

الإحصائيات

شخص يلعب أرقى ألعاب الهواتف المحمولة يغضب بشدة يومًا ما من اللعبة التي يضطر إلى لعبها أثناء محاولته توقيع عقد. تسير اللعبة كما يلي:

  • يوجد مخزون من البطاقات يحمل الأعداد من $1$ إلى $2N+K$.
  • تسحب اللعبة $N$ بطاقات واحدة تلو الأخرى من هذا المخزون، دون إعادتها، أي إن عددًا واحدًا لا يمكن سحبه مرتين.
  • بعد البطاقات المسحوبة، يخمّن اللاعب ما إذا كانت البطاقة التالية ستكون أكبر أم أصغر.

ما يغضب اللاعب هو أنه، بسبب سوء حظه، يأتي باستمرار عدد أصغر بعد عدد صغير، وعدد أكبر بعد عدد كبير. لذلك يهدف اللاعب إلى منع ذلك بتعديل آلية العشوائية في اللعبة. يضيف تعديله القاعدتين التاليتين إلى سحب البطاقات:

  • إذا سُحبت بطاقة تحمل عددًا من $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\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$. سنسحب بطاقتين. في الحالة العادية، يمكن سحب البطاقات بـ $20$ طريقة مختلفة. في اللعبة المعدلة، إذا كانت بطاقتنا الأولى $1$ أو $2$ أو $4$ أو $5$، فهناك $3$ احتمالات مختلفة للبطاقة الثانية؛ وإذا كانت $3$، فهناك $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.