QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#3018. Präfixfreier Code

Statistics

Betrachte $n$ Ausgangszeichenketten aus Kleinbuchstaben, wobei keine Ausgangszeichenkette ein Präfix einer anderen ist. Nun werden $k$ dieser Zeichenketten ausgewählt (keine mehr als einmal) und aneinandergehängt. Auf diese Weise lassen sich so viele zusammengesetzte Zeichenketten bilden:

$$ n\times(n-1)\times(n-2)\times\ldots\times(n-k+1) $$

Alle durch dieses Verfahren erzeugbaren zusammengesetzten Zeichenketten werden alphabetisch sortiert. Gegeben ist eine zusammengesetzte Testzeichenkette, die garantiert in dieser Liste vorkommt. Bestimme ihre Position in der alphabetisch sortierten Liste aller zusammengesetzten Zeichenketten, modulo $10^9+7$. Die erste zusammengesetzte Zeichenkette der Liste hat Position $1$.

Eingabe

Jede Eingabe besteht aus einem einzelnen Testfall. Beachte, dass dein Programm möglicherweise mehrfach mit verschiedenen Eingaben ausgeführt wird. Jeder Testfall beginnt mit einer Zeile mit zwei ganzen Zahlen, zuerst $n$ und dann $k$ ($1\le k\le n$). Dabei ist $n$ die Anzahl der Ausgangszeichenketten und $k$ die Anzahl der Ausgangszeichenketten, die zum Bilden zusammengesetzter Zeichenketten ausgewählt werden. Die Obergrenzen für $n$ und $k$ ergeben sich aus den in den folgenden Absätzen angegebenen Beschränkungen für die Zeichenketten.

Jede der nächsten $n$ Zeilen enthält eine Zeichenkette aus einem oder mehreren Kleinbuchstaben a bis z. Dies sind die $n$ Ausgangszeichenketten. Es ist garantiert, dass keine Ausgangszeichenkette ein Präfix einer anderen Ausgangszeichenkette ist.

Die letzte Zeile enthält schließlich eine weitere Zeichenkette, die nur aus Kleinbuchstaben a bis z besteht. Dies ist die zusammengesetzte Testzeichenkette, deren Position in der sortierten Liste du bestimmen sollst. Es ist garantiert, dass sie durch Aneinanderhängen von $k$ verschiedenen Ausgangszeichenketten entsteht.

Die Summe der Längen aller Eingabezeichenketten einschließlich der Testzeichenkette überschreitet $10^6$ Buchstaben nicht.

Ausgabe

Gib eine einzelne ganze Zahl aus: die Position der zusammengesetzten Testzeichenkette in der Liste der sortierten zusammengesetzten Zeichenketten. Gib diese Zahl modulo $10^9+7$ aus.

Beispiele

Eingabe 1

5 3
a
b
c
d
e
cad

Ausgabe 1

26

Eingabe 2

8 8
font
lewin
darko
deon
vanb
johnb
chuckr
tgr
deonjohnbdarkotgrvanbchuckrfontlewin

Ausgabe 2

12451

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.