AtCoder Beginner Contest 160 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-E. 5 Fragen nach langer Zeit AC wird Ihre Spannung erhöhen ^^
Ich werde unten kurz erklären.
Da eine 6-stellige Zeichenfolge als Argument übergeben wird,
String.charAt()
Es ist in Ordnung, wenn Sie das Zeichen des angegebenen Zeichens mit herausnehmen und vergleichen.
Das Problem ist, dass Sie einen Betrag erhalten und ihn ordnungsgemäß gegen 500-Yen-Münzen und 5-Yen-Münzen eintauschen. Die Ausgabe der Antwort lautet "Freude". Wenn Sie eine 500-Yen-Münze haben, erhalten Sie 1000 Freude. Achten Sie also darauf, den angegebenen Betrag nicht zu verdoppeln. Bitte beachten Sie auch, dass es nicht ausreicht, nur den Überschussbetrag hinzuzufügen, nur weil die Freude von 5 in der 5-Yen-Münze enthalten ist.
long happy = (x / 500) * 1000;
x = x % 500;
happy = happy + (x / 5) * 5;
Ich konnte so AC.
Um den Teich herum wird ein Haus gebaut, das Ihnen einen Abstand zu einem bestimmten Punkt bietet. Es geht darum, den Mindestabstand zu finden, um jedes Haus zu umgehen.
Das Haus ist diesmal um einen Teich herum gebaut, daher sollte die eigentliche Route wie ein Sehtest aussehen. Die Form ist wie ein kleiner Kreis. Wenn Sie also den weitesten Abstand zwischen den Häusern finden, können Sie den Mindestabstand berechnen, indem Sie diesen Abstand vom Außenumfang des Teichs abziehen.
Denken Sie grundsätzlich an die Entfernung des vorherigen Hauses und berechnen Sie diese bei jedem Betreten. Das erste und das letzte Haus liegen ebenfalls nebeneinander. Vergessen Sie also nicht, sie zu vergleichen.
Es ist ein Problem, auszugeben, wie viele ungerichtete Graphen mit N Eckpunkten einen Abstand von k haben. Ich habe Angst, ungerichtete Grafiken oder andere schwierige Wörter zu verwenden, aber diese Grafik ist einfach.
Bestenfalls gibt es nur zwei Möglichkeiten, entweder direkt oder auf der Straße zwischen X und Y.
Selbst wenn Sie der Meinung sind, dass TLE wahrscheinlich auftritt, können Sie sicher sein, dass Sie Folgendes sehen.
3 ≤ N ≤ 2 × 10^3
Im Code ausgedrückt sieht es so aus: In einer Double-for-Schleife berechne ich, welche näher ist, gehe direkt oder zwischen X und Y hin und her und füge sie dem Array von Antworten hinzu.
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
int direct = j - i;
int shortCut = dist(i, x) + 1 + dist(j, y);
int dist = Math.min(direct, shortCut);
answer[dist]++;
}
}
Eine Methode namens dist Es sieht folgendermaßen aus.
public static int dist(int p, int q) {
return Math.max(q - p, p - q);
}
Iss X rote Äpfel und Y grüne Äpfel. Angesichts der Köstlichkeit von roten Äpfeln und der Köstlichkeit von grünen Äpfeln essen, um die Köstlichkeit zu maximieren. Es gibt auch einen farblosen Apfel, der gefärbt werden kann.
Ich habe es mit dem folgenden Algorithmus gelöst.
So konnte ich sicher AC. Ich denke, der Grund für den Sieg war, dass ich die farblosen Äpfel zum Array APPLE hinzufügen konnte.
Persönlich ist der Schwierigkeitsgrad im E-Problem niedrig ...?
Nachdem ich über 5 Minuten nachgedacht hatte, konnte ich es nicht tun, also war ich für die restlichen 20 Minuten abwesend lol
Wasserleistung (1411) zum ersten Mal seit langer Zeit Die Bewertung ist 936 → 1003, was das erste Mal ist, dass 1000 überschritten werden! !! : erröten:
Das E-Problem war ein wenig einfach, aber ich bin froh, dass ich es geschafft habe, es zu lösen ... Ich möchte mich an die AC von A-E halten und sie stabilisieren. Wenn Sie dies tun können, sollten Sie bald in der Lage sein, ein Wassername zu werden! : raise_hands:
Vielen Dank für das Lesen bis zum Ende!
Recommended Posts