AtCoder Beginner Contest 175 Vielen Dank für Ihre harte Arbeit! Offizielle Seite
Der Code, den ich dieses Mal geschrieben habe, ist hier Das Ergebnis war Wechselstrom bis A-C. Sowohl D als auch E waren schwierig ...
Ich werde unten kurz erklären.
Die Frage, wie oft eine Zeichenfolge fortlaufend ist.
String.charAt()
Ich habe das angegebene Zeichen mit und ehrlich gesagt das bedingte Dokument erhalten.
Angesichts der Länge von drei Seiten besteht das Problem des Druckens, ob es sich um ein Dreieck handelt. Bitte beachten Sie, dass Seiten gleicher Länge nicht verwendet werden sollten.
Sie müssen sich keine Gedanken über den Rechenaufwand machen, und selbst eine Dreifachschleife reicht aus. Das Innere der Dreifachschleife sieht so aus. Zuerst überprüfte ich, ob es die gleichen Seitenlängen gab und entschied, ob es ein Dreieck war.
if (first == second || second == third || third == first) {
continue;
}
if (isTriangle(first, second, third)) {
count++;
}
Die Beurteilung, ob es sich um ein Dreieck handelt, erfolgte wie folgt
public static boolean isTriangle(int i, int j, int k) {
int max = Math.max(i, j);
max = Math.max(max, k);
return i + j + k - max > max;
}
Das Problem, sich auf einer Reihe von Geraden durch D von X nach K zu bewegen und die dem Ursprung am nächsten liegende Position auszugeben. Wenn Sie eine kleine Figur zeichnen und K und D kleiner als X sind, müssen Sie sich nur zum Ursprung bewegen. Wenn nicht, können Sie sehen, dass der Wert durch gerade oder ungerade bestimmt wird.
Wenn K oder D im Vergleich zu X bis zu einem gewissen Grad groß genug ist, haben Sie das Gefühl, durch den Ursprung zu wandern.
Da X, K und D alle groß sind, ist es auch nicht sinnvoll, die Multiplikation unnötig zu verwenden. (Es wird überlaufen.) Erstens kann der Zweig, wenn X groß genug ist, so geschrieben werden.
if (x / d > k) {
print(x - d * k);
return;
}
Wenn nicht, lassen Sie uns zwischen "x% d" und "d-x% d" durch gerade und ungerade und Ausgabe unterscheiden. Beachten Sie auch, dass X negative Werte annehmen kann. Das hat viel Zeit gekostet ...
(Nachtrag)
(Nachtrag)
Ich habe 20 Minuten verschlafen, also war es die niedrigste Leistung (592) ... Die Bewertung fiel ebenfalls viermal hintereinander, orz bei 930
Ich werde die D- und E-Probleme gründlich prüfen, sie zu einem späteren Zeitpunkt ordnungsgemäß aktualisieren und den Quellcode schreiben ...! Kuyashi!
Vielen Dank für das Lesen bis zum Ende!
Recommended Posts