AtCoder Beginner Contest 150 Vielen Dank für Ihre harte Arbeit! Offizielle Seite
Leider ist es wieder Unrated ...
Zum Gedenken an die Erstellung des GitHub.com-Kontos habe ich auch den AtCoder-Code festgeschrieben, den ich vor einiger Zeit nach dem Ende des Wettbewerbs gestartet habe. Hier Außerdem werde ich einen Kommentarartikel schreiben.
Zum ersten Mal in der Wettbewerbsprogrammierung kann ich nur über Java als Sprache schreiben, daher verwende ich Java. (Warum verwenden so viele Leute Python oder C bei Wettkampfprofis ...)
Das Problem des Multiplizierens und Vergleichens. Ich denke nicht, dass eine Erklärung notwendig ist.
Das Problem herauszufinden, wie viele ABCs in Ordnung sind. Ich musste mir keine Sorgen um die Leistung machen, also nahm ich einfach drei und überprüfte, ob sie übereinstimmten.
Ich denke, es gibt einen besseren Weg, aber ... Ich konvertierte die beiden Zahlenspalten mit "Welche Zahl ist die größte Zahl", verglich die beiden Zahlenspalten und multiplizierte jede Ziffer mit dem entsprechenden Potenzwert.
Ich kann es nicht sehr gut in Worten erklären. Ich denke, es ist einfacher zu verstehen, wenn Sie sich den Code ansehen.
Minimales häufiges Mehrfachproblem. Ich weiß nicht warum es falsch ist!
Als Grundpolitik
Ich habe es bei gemacht. Wenn die Zahlenspalte jedoch 2/4/6 lautet, lautet die Antwort 0. Weil es keine "Potenz von 2" gibt. 2 * (p + 0,5) ist kein Vielfaches von 2, aber 4 * (p + 0,5) ist ein Vielfaches von 2. Auf diese Weise müssen alle Zahlen in der Sequenz die Zweierpotenz haben.
Die Antwort ist jedoch falsch. Ich hatte mit diesem Problem zu kämpfen und endete ... https://github.com/ko-flavor/atcoder-java/blob/master/atcoder/src/abc/abc150/MainD.java
Ich wusste nicht, wie viel ich heute darüber nachgedacht habe, also würde ich es gerne zu einem späteren Zeitpunkt wieder sehen!
(Zusatz) Ich habe einen Fehler im Programm gefunden und ihn auf AC behoben.
Recommended Posts