Laut dieser Seite besteht die beste Strategie, um englische Henkerwörter zu erraten, darin, die Wahrscheinlichkeit jedes Buchstabens in einer Wortliste zu berechnen, die unseren Bedingungen entspricht. Aber da ich wirklich faul bin, möchte ich nicht jedes Wort im Wörterbuch selbst berechnen. Aber da ich weiß, dass Sie immer hier sind, um mir zu helfen, bin ich sicher, dass Sie mich zum König eines Codes machen können, der das für mich erledigt. Und weil meine Festplatte fast voll ist, möchte ich den kleinstmöglichen Code. Dies bedeutet, dass dies Code-Golf ist und die Übermittlung mit der geringsten Anzahl von Bytes gewinnt, aber auch mit der genauesten! .
Input-Output
Ein zufälliges Wort aus dieser Wortliste wird genommen.
Ihr Programm sollte in Argumenten oder durch Benutzereingaben (Popups, stdin, was auch immer) Folgendes akzeptieren:
- Länge des Wortes
- Es wurde bereits ein falscher Buchstabe gefunden oder 0, wenn wir das Spiel gerade gestartet haben und Sie keinen falschen Buchstaben angegeben haben.
- Buchstaben bereits gefunden UND ihre Position im Wort
Beispiel: ./hangsolver 6 XBZ 1P 4P 2E 6E
Hier habe ich das Wort "Menschen" gewählt. Zur Verdeutlichung: PE _ P _ E (Falsche Buchstaben sind XB und Z)
Das bedeutet, dass ich in einem Spiel Ihr Skript viele Male starten muss!
Die Ausgabe wird ein einzelner Buchstabe sein, Ihr nächster Versuch.
Regeln
- Derjenige, der 10 Wörter in weniger Versuchen errät als die anderen, wird gewinnen.
- Bei einem Gleichstand gewinnt der kürzeste Code in Bytes.
- Wenn es immer noch ein Unentschieden gibt, gewinnt das schnellste Programm.
- Sie können davon ausgehen, dass es nur diese Wörter in der englischen Sprache gibt
- Ich werde nur gültige Wörter aus der Wortliste versuchen.
- Ich habe einen guten Computer, die CPU-Leistung ist kein Problem (aber versuchen Sie, so schnell wie möglich zu antworten!)
- Sie können nicht mit einem Online-Löser lösen, aber Sie können die Wortliste herunterladen oder als Argument übergeben lassen. Sie können davon ausgehen, dass es "wordlist.txt" heißt und sich im selben Verzeichnis wie Ihr Skript befindet.
- Ihr Code muss auf einem gemeinsamen Betriebssystem ausgeführt werden können. Es kann Windows, Mac oder Ubuntu / Debian / CentOS oder Redhat sein.
- Sie können keinen externen Solver verwenden.
- Sie können jedoch die URL zur Wortliste kürzen.
- Dieser Code-Golf endet am 1. September.
- Sie MÜSSEN die oben beschriebene Methode verwenden.
Viel Glück !
Wordlist hier auf SE gefunden.