Résolvez AtCoder Beginner Contest 175 avec Java

AtCoder Beginner Contest 175 Merci pour votre travail acharné! Page officielle

Le code que j'ai écrit cette fois est ici Le résultat a été AC jusqu'à A-C. Les deux D et E étaient difficiles ...

Je vais vous expliquer brièvement ci-dessous.

Problème A

La question de savoir combien de fois une chaîne est continue. String.charAt() J'ai obtenu le caractère spécifié avec et honnêtement obtenu le document conditionnel.

Problème B

Compte tenu de la longueur de trois côtés, le problème de l'impression de savoir si cela devient un triangle. Veuillez noter que les côtés de même longueur ne doivent pas être utilisés.

Vous n'avez pas à vous soucier de la quantité de calcul, et même une triple boucle suffira. L'intérieur de la triple boucle ressemble à ceci. Tout d'abord, j'ai vérifié s'il y avait les mêmes longueurs de côté et j'ai décidé s'il s'agissait d'un triangle.

if (first == second || second == third || third == first) {
	continue;
}
if (isTriangle(first, second, third)) {
	count++;
}

Le jugement quant à savoir s'il s'agit d'un triangle a été fait comme suit

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

Problème C

Le problème du déplacement de X à K fois sur un certain nombre de lignes droites par D et de sortie de la position la plus proche de l'origine. Si vous dessinez une petite figure, lorsque K et D sont plus petits que X, il suffit de se déplacer vers l'origine. Sinon, vous pouvez voir que la valeur est déterminée par pair ou impair.

Si K ou D est assez grand par rapport à X dans une certaine mesure, vous aurez l'impression d'errer autour de l'origine.

De plus, étant donné que X, K et D sont tous grands, le point n'est pas d'utiliser la multiplication inutilement. (Il débordera.) Premièrement, la branche lorsque X est suffisamment grand peut être écrite comme ceci.

if (x / d > k) {
	print(x - d * k);
	return;
}

Sinon, faisons la distinction entre «x% d» et «d-x% d» par pair et impair et en sortie. Notez également que X peut prendre des valeurs négatives. Cela a pris beaucoup de temps ...

Problème D

(Post-scriptum)

Problème E

(Post-scriptum)


Impressions

J'ai dormi trop longtemps pendant 20 minutes, donc c'était la performance la plus basse (592) ... La note a également chuté 4 fois de suite, orz à 930

Je passerai en revue les problèmes D et E en profondeur, je les mettrai à jour correctement ultérieurement et j'écrirai le code source ...! Kuyashi!

Merci d'avoir lu jusqu'au bout!

Recommended Posts

Résolvez AtCoder Beginner Contest 151 avec Java
Résolvez AtCoder Beginner Contest 153 avec Java
Résolvez AtCoder Beginner Contest 175 avec Java
Résolvez AtCoder Beginner Contest 160 avec Java
Résolvez AtCoder Beginner Contest 152 avec Java
Résolvez AtCoder Beginner Contest 156 avec Java
Concours AtCoder Débutant 168
AtCoder Beginner Contest 167 Problème C (Java)
Article sur la participation au concours AtCoder
AtCoder Débutant Contest 132 D Problème
java débutant 4
java débutant
Concours de programmation AtCoder dwango B à résoudre en Ruby, Perl et Java
AtCoder ARC 081 C hash à résoudre en Ruby, Perl et Java
Essayez de résoudre Project Euler en Java
Changements dans Java 11
Janken à Java
Exercices pour les débutants Java
Taux circonférentiel à Java
FizzBuzz en Java
Exercice Java "Débutant"
AtCoder Beginner Contest 169 A, B, C avec rubis
[AtCoder Problem-ABC001] Observation du vent C-Do en Java [Code]
Comment résoudre les problèmes d'expression en Java
[Débutant] Installez l'outil de développement java dans l'environnement de développement cloud9.
L'histoire d'un super débutant participant pour la première fois au concours AtCoder (AtCoder Beginner Contest 140)
Lire JSON en Java
Faites un blackjack avec Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Interface appelable en Java
Il est tard! Essayez d'implémenter la notification Android en Java (débutant)
Commentaires dans la source Java
Fonctions Azure en Java
Formater XML en Java
AtCoder Beginner Contest 170 A, B, C jusqu'au rubis
Simple htmlspecialchars en Java
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
POST JSON en Java
Exprimer l'échec en Java
Essayez de résoudre un problème FizzBuzz restreint en Java
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Utiliser PreparedStatement en Java
Nouveautés de Java 9,10,11
Exécution parallèle en Java