Алгоритмы и структуры данных
В этом курсе мы изучаем некоторые алгоритмы и структуры данных из разных разделов информатики. Упор делается на алгоритмы, которые полезны, которые легко объяснить, понять и легко реализовать.
Как решать задачи
Вы можете писать код на любом удобном вам языке программирования. Чтобы вы могли проверить, что решили задачу правильно, я буду выдавать к ним тесты. Задачи должны предполагать, что получают данные из стандартного ввода, т.е. клавиатуры, а печатают результат в консоль. Тесты распространяются в виде набора файлов с расширениями, соответственно, in
и out
. Для проверки решения необходимо запускать программу, перенаправляя стандартный ввод и вывод, чтобы не надо было по-настоящему вводить с клавиатуры. При запуске из командной строки это делается следующим образом:
program.exe <test.in >program.out
При запуске из среды разработки нужно настроить параметры запуска и указать там перенаправление ввода и вывода, это делается по-разному в зависимости от среды разработки.
Для проверки правильности ответа нужно сравнить ваш вывод с правильным. Из командной строки это делается следующим образом:
diff program.out test.out
Добавьте ключ --strip-trailing-cr
, чтобы игнорировать различие в символах перевода строки:
diff --strip-trailing-cr program.out test.out
Есть графические программы для сравнения текстовых файлов, например, Meld. Но, думаю, ваша среда разработки тоже умеет сравнивать файлы. В средах от JetBrains (IntelliJ IDEA, PyCharm) вы можете выбрать файлы и нажать Ctrl + D.