Löse den AtCoder-Anfängerwettbewerb 175 mit Java

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.

Problem A

Die Frage, wie oft eine Zeichenfolge fortlaufend ist. String.charAt() Ich habe das angegebene Zeichen mit und ehrlich gesagt das bedingte Dokument erhalten.

Problem B

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;
}

Problem C

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 ...

Problem D

(Nachtrag)

Problem E

(Nachtrag)


Impressionen

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

Löse den AtCoder-Anfängerwettbewerb 151 mit Java
Löse den AtCoder-Anfängerwettbewerb 153 mit Java
Löse den AtCoder-Anfängerwettbewerb 175 mit Java
Löse den AtCoder-Anfängerwettbewerb 160 mit Java
Löse den AtCoder-Anfängerwettbewerb 152 mit Java
Löse den AtCoder-Anfängerwettbewerb 156 mit Java
AtCoder Anfängerwettbewerb 168
AtCoder Anfängerwettbewerb 167 C Problem (Java)
AtCoder Beginner Contest 182 Teilnahmeartikel
AtCoder Anfängerwettbewerb 132 D Problem
Java Anfänger 4
Java Anfänger
AtCoder dwango Programmierwettbewerb B zum Lösen in Ruby, Perl und Java B.
AtCoder ARC 081 C-Hash, der in Ruby, Perl und Java gelöst werden muss
Versuchen Sie, Project Euler in Java zu lösen
Änderungen in Java 11
Janken in Java
Übungen für Java-Anfänger
Umfangsrate in Java
FizzBuzz in Java
Java-Übung "Anfänger"
AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin
[AtCoder Problem-ABC001] C-Do Windbeobachtung in Java [Code]
So lösen Sie Ausdrucksprobleme in Java
[Anfänger] Installieren Sie das Java-Entwicklungstool in der Cloud9-Entwicklungsumgebung.
Eine Geschichte über einen Super-Anfänger, der zum ersten Mal am AtCoder-Wettbewerb teilnimmt (AtCoder-Anfängerwettbewerb 140)
Lesen Sie JSON in Java
Machen Sie einen Blackjack mit Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Es ist spät! Versuchen Sie, Android Notification in Java (Anfänger) zu implementieren.
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
AtCoder Anfängerwettbewerb 170 A, B, C bis Rubin
Einfache HTML-Spezialchars in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Versuchen Sie, ein eingeschränktes FizzBuzz-Problem in Java zu lösen
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java