JavaRush /Java блог /Архив info.javarush /Алгоритмические задачи
Joysi
41 уровень

Алгоритмические задачи

Статья из группы Архив info.javarush
Сильный конек JavaRush - изобилие практики, что сильно способствует закреплению данного на лекциях материала. Здесь 95% задач с уклоном в практику написания прикладных или серверных программ. Это здорово закрепить на практике поданные на лекциях материалы (коллекции, дженерики, массивы, многопоточность и т.п.) или поэтапно создавать и рефакторить задачи со множеством классов и их взаимодействия (big-и). Как глоток свежего воздуха встречаются алгоритмические задачи (все, наверное, вспоминают последний бонус 20го уровня, построения бинарного дерева-списка), но их число не велико. Оно и понятно, курс посвящен прикладной практике, а не алгоритмике (которая требует гораздо больше теории кибернетики и математики). Тем, кто в чем то похож на меня в плане иногда немного отвлечься и потренировать больше математические навыки в программировании, рекомендую http://codeforces.com/ . Тамошние задачи можно решать (помимо прочих языков программирования) и на Java 7/8. Пул задач (помимо них устраиваются и соревнования), доступен на http://codeforces.com/problemset . Помимо них есть и соревнования и т.п. 100% принимает решение в единственном java-файле c использованием пакета по умолчанию (то есть нет java-файле указания package) и точкой входа public static void main(String[] args). Другие варианты отправки решения я не пробовал. Приведу пример самой простой задачи ( http://codeforces.com/problemset/problem/1/A ) с решением (воспринимайте как тестовый пример), чтобы могли использовать как болванку при решении других: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class task1A { /* Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров. По случаю очередного юбилея города, было принято решение о замощении площади квадратными гранитными плитами. Каждая плита имеет размер a × a. Какое наименьшее количество плит понадобится для замощения площади? Разрешено покрыть плитами большую поверхность, чем театральная площадь, но она должна быть покрыта обязательно. Гранитные плиты нельзя ломать или дробить, а разрешено использовать только целиком. Границы плит должны быть параллельны границам площади. Входные данные В первой строке записано три целых натуральных числа 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); } } После создания программы и самостоятельного ее тестирования - загружайте файл на сайт, проверка начнется в ближайшее время и вы можете наблюдать за ее процессом. Дополнительно можно посмотреть тестовые данные в процессе проверки и использовать их для коррекции программы в случае провала одного из тестов. P.S. Если администрация сочтет рекламой стороннего ресурса - можете удалить. Хотя лично я считаю, что дополнительная зарядка мозгам в плане алгоритмики не помешает. P.S.S. Если есть другие подобные ресурсы - пишите в комментариях (лучше в развернутых - плюсы, минусы и примеры решенных тестовых задач для легкого старта другим).
Комментарии (8)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
blacky Уровень 23
4 июня 2016
acm.timus.ru хороший ресурс — там олимпиадки на различные темы. Писать решение можно на любом языке.
HansNoodles Уровень 31
3 июня 2016
Очень скоро JavaRush будет существенно обновлен. Работа ведется буквально день и ночь, будут и алгоритмические задачи, и плотная работа с популярными фреймворками, и многое-многое другое. Много нового для себя откроют как новые юзеры, так и те кто прошел уже все 40 уровней.

А ресурсов действительно много. Ни в коем случае не буду отговаривать от их использования, как источника дополнительной практики.
abbath0767 Уровень 36
3 июня 2016
господи, да подобных ресурсов пруд пруди, кодварс, код ката, проект эйлер и прочие.