JavaRush /Blog Java /Random-FR /Problèmes algorithmiques
Joysi
Niveau 41

Problèmes algorithmiques

Publié dans le groupe Random-FR
Le point fort de JavaRush est l'abondance de pratique, qui contribue grandement à consolider le matériel donné lors des cours. Ici, 95 % des tâches sont axées sur la pratique de l'écriture de programmes applicatifs ou serveur. C'est formidable de mettre en pratique les matériaux présentés dans les cours (collections, génériques, tableaux, multithreading, etc.) ou de créer et refactoriser progressivement des problèmes avec de nombreuses classes et leurs interactions (les plus grandes). Il existe des problèmes algorithmiques comme une bouffée d'air frais (tout le monde se souvient probablement du dernier bonus du niveau 20, la construction d'une arborescence binaire), mais leur nombre n'est pas grand. Cela se comprend, le cours est consacré à la pratique appliquée, et non à l'algorithmique (ce qui nécessite beaucoup plus de théorie de la cybernétique et des mathématiques). Pour ceux qui ressemblent un peu à moi en termes de parfois un peu de distraction et de pratique de compétences mathématiques en programmation, je recommande http://codeforces.com/. Les problèmes peuvent être résolus (entre autres langages de programmation) dans Java 7/8. Un pool de problèmes (en plus d'eux, des concours sont également organisés) est disponible sur http://codeforces.com/problemset. En plus d'eux, il y a des concours, etc. 100 % prend une décision dans un seul fichier Java en utilisant le package par défaut (c'est-à-dire qu'aucun package n'est spécifié dans le fichier Java) et le point d'entrée est public static void main(String[] args). Je n'ai pas essayé d'autres options pour soumettre une solution. Je vais donner un exemple du problème le plus simple (http://codeforces.com/problemset/problem/1/A) avec une solution (considérez-le comme un exemple de test), afin que vous puissiez l'utiliser comme blanc lors de la résolution d'autres : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class task1A { /* Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров. По случаю очередного юбилея города, было принято решение о замощении площади квадратными гранитными плитами. Каждая плита имеет размер a × a. Какое наименьшее количество плит понадобится для замощения площади? Разрешено покрыть плитами большую поверхность, чем театральная площадь, но она должна быть покрыта обязательно. Гранитные плиты нельзя ломать or дробить, а разрешено использовать только целиком. Границы плит должны быть параллельны границам площади. Входные данные В первой строке записано три целых натуральных числа n, m и a (1 ≤ n, m, a ≤ 10^9). Выходные данные Выведите искомое количество плит. */ public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] s=reader.readLine().split(" "); long n = Long.parseLong(s[0]); long m = Long.parseLong(s[1]); long a = Long.parseLong(s[2]); reader.close(); long cntSide1 = n/a + (int) Math.signum(n%a); long cntSide2 = m/a + (int) Math.signum(m%a); System.out.print(cntSide1*cntSide2); } } Après avoir créé le programme et l'avoir testé vous-même, téléchargez le fichier sur le site Web, la vérification commencera bientôt et vous pourrez regarder son processus. De plus, vous pouvez afficher les données de test pendant le processus de vérification et les utiliser pour corriger le programme si l'un des tests échoue. PS Si l'administration considère qu'il s'agit d'une publicité pour une ressource tierce, vous pouvez la supprimer. Bien que je pense personnellement qu'un exercice supplémentaire pour le cerveau en termes d'algorithmes ne fera pas de mal. PSS S'il existe d'autres ressources similaires, écrivez dans les commentaires (de préférence dans des ressources développées - avantages, inconvénients et exemples de problèmes de test résolus pour un démarrage facile pour les autres).
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION