QOJ.ac

QOJ

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

#20297. Jeu légendaire

الإحصائيات

Une personne qui joue au summum des jeux mobiles se met un jour très en colère contre le jeu auquel elle doit jouer alors qu'elle essaie de signer un contrat. Le jeu fonctionne ainsi :

  • Un ensemble de cartes porte les nombres de $1$ à $2N+K$.
  • Le jeu tire $N$ cartes une à une dans cet ensemble, sans remise : un nombre ne peut pas être tiré deux fois.
  • Après les cartes tirées, le joueur prédit si la carte suivante sera plus grande ou plus petite.

Ce qui met le joueur en colère, c'est que, par malchance, un nombre encore plus petit suit constamment un petit nombre, et un nombre encore plus grand suit constamment un grand nombre. Pour éviter cela, le joueur modifie le mécanisme aléatoire du jeu. Sa modification ajoute les deux règles suivantes au tirage :

  • Si une carte portant un nombre de $1$ à $N$ est tirée, le nombre de la carte suivante doit être strictement supérieur à $N$ ($>N$).
  • Si une carte portant un nombre de $N+K+1$ à $2N+K$ est tirée, le nombre de la carte suivante doit être strictement inférieur à $N+K+1$ ($<N+K+1$).

Après ces modifications, le joueur se demande à quel point il a perturbé le jeu. Il le mesure par le rapport entre le nombre de suites de tirages différentes possibles dans la version modifiée et le nombre de suites de tirages possibles dans la version normale. Il vous demande ce rapport modulo $10^9+7$.

Détails d'implémentation

Vous devez implémenter la fonction suivante :

int oyun(int N, int K)
  • $N$ et $K$ sont les entiers qui déterminent l'ensemble de cartes et le nombre de cartes tirées, comme indiqué dans l'énoncé.
  • Cette fonction doit renvoyer le rapport demandé.
  • Cette fonction sera appelée exactement une fois par test.

Contraintes

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

Sous-tâches

Sous-tâche Points Contraintes supplémentaires Dépendances
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 Aucune contrainte supplémentaire 1, 2, 3, 4

Exemples

oyun(2, 1)

L'appel ci-dessus doit renvoyer $600000005$.

Nos nombres sont $1,2,3,4,5$. Nous tirons 2 cartes. Dans le jeu normal, il y a 20 façons de tirer les cartes. Dans le jeu modifié, si la première carte est $1$, $2$, $4$ ou $5$, il y a 3 possibilités pour la seconde ; si elle est $3$, il y en a 4. Il y a donc 16 possibilités dans le jeu modifié. $\frac{16}{20}=\frac45$. Cette probabilité est équivalente à $600000005$ pour notre module.

Évaluateur d'exemple

L'évaluateur d'exemple attend chaque cas au format suivant :

$$N\ K$$

Si la fonction demandée renvoie correctement un entier, il affiche ce résultat $R$ au format suivant :

$$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.