Module: Hashes


Problem

2 /2


HASH

Theory Click to read/hide

Die Heizung der Linie ist die Präsentation der Linie in Form einer Anzahl, einzigartig (weil die Chance auf Konflikt ist vernachlässigbar) für jede Linie. Dadurch können wichtige Daten (Modell der Passwörter) in der Datenbank gespeichert werden, nicht in Form von Zeilen, sondern in Form von Zahlen. Dies schützt Passwörter, wenn der Täter Zugriff auf die Passwort-Datenbank bekommt, weil es nicht Passwörter selbst gewonnen, sondern nur ihre numerische Darstellung, aber es ist fast unmöglich, eine Zeile auf ihrer xash (vor allem nicht wissen, heching Algorithmus).
Polynomhesh wird am häufigsten in der Olympischen Programmierung verwendet.
Eine der besten Möglichkeiten, den hesh-funk aus der S-Linie zu bestimmen:
h(S) = S[0] + S[1] * P + S[2] * P2 + S[3] * P^3 + ... + S[N] * P^N

Problem

Der Programmierer Vasa hatte kein Glück - statt Urlaub zu nehmen, wurde er auf eine Geschäftsreise zu einer wissenschaftlichen Konferenz geschickt. "Wir müssen das Wissen erhöhen", sagte der Chef, "Eine wichtige Konferenz über Kryptographie wird in Frankreich abgehalten - und dort wurde zu Richelieuszeiten verschlüsselt und die Chiffren anderer Leute zu Vieths Zeiten geknackt."
Vasya fand schnell heraus, dass er alle Bilder des Louvre schon irgendwo gesehen hatte, dass er den Eiffelturm gesehen hatte, bevor seine Maus ihn von der Matte gelöscht hatte, und solche Glaspyramiden machen wir an allen Ständen und zweifelhaften Restaurants notwendig. Kurz gesagt, es stellte sich heraus, dass es in Paris einfach nichts zu suchen gab, es gab keinen Platz zum Fischen, daher musste Vashe an den Vorträgen auf der Konferenz teilnehmen.
Einer der Referenten versuchte erneut, die Bacon-Chiffren zu entwirren, vermutete, dass der Schlüssel zu den Geheimnissen von Bacon durch die Analyse aller möglichen Teilzeichenfolgen von Bacon-Werken gefunden werden kann. "Aber es gibt zu viele von ihnen!" - Vasya war laut überrascht. "Nein, nicht so sehr!"", rief der Sprecher, "Zählen Sie, und Sie werden es selbst sehen!"
Am selben Abend fand Vasya im Internet die vollständige Sammlung von Bacon-Werken. Er schrieb ein Programm, das die Texte in eine lange Zeichenfolge überarbeitete und alle Leerzeichen und Satzzeichen aus den Texten entsorgte. Und jetzt ist Vasya sehr verwirrt - aber wie kann man die Anzahl der verschiedenen Teilstränge dieser Zeile berechnen? 

Eingabe
Die Eingabe enthält eine nicht leere Zeichenfolge, die von Vasey erhalten wurde. Die Zeichenfolge besteht nur aus lateinischen Kleinbuchstaben. Seine Länge überschreitet 2000 Zeichen nicht. 

Ausgabe
Geben Sie die Anzahl der verschiedenen Teilzeichenfolgen dieser Zeile aus.

 

Beispiele
Eingabe Ausgabe
1 aaba 8