2013 — Новосибирск

Тестовое задание

При подготовке к новому Кампусу, ты можешь познакомится с тестовыми заданиями предыдущих школ. Ниже — тестовое задание с осеннего Кампуса 2013.

В одном файле — некое литературное произведение. В другом — в каждой строке поисковый запрос.

Вам нужно для каждого запроса вывести номера всех строк исходного произведения, в которых содержатся все слова из поискового запроса. Если таких строк слишком много, выведите 20 самых первых. Для каждого запроса номера строк нужно выводить в порядке их возрастания.

Детали

Имена файлов — с произведением и с поисковыми запросами будут передаваться вашей программе в качестве аргументов командной строки именно в таком порядке. Оба файла будут в формате простого текста в кодировке UTF-8.

Можно считать, что литературное произведения такого размера, что может поместиться в оперативной памяти целиком.

Примеры файлов здесь

Слово может состоять из русских или латинских букв или знака подчеркивания или цифр. Сравнивать слова нужно регистронезависимо.

Нумерация строк осуществляется с нуля.

Результат ваша программа должна напечатать на консоль, по одной строке на каждый запрос. В каждой такой строке — номера строк исходного произведения, разделенные запятой.

Пример ниже должен прояснить все тонкие моменты в условии:

Текст:

0: Foo foo bar

1: Bazz bar foo

2: foobar

Запрос: XYZ

Ответ:

Запрос: Baz

Ответ:

Запрос: foo

Ответ: 0,1

Запрос: FOO FOO FOO FOO

Ответ: 0,1

Авторское решение тестового задания (.zip, 1 Кб)

Участники

  • Арыков Никита

    , Новосибирск, НГУ, 1 курс маг.
  • Ащепков Павел

    , Томск, ТГУ, 3 курс
  • Ветров Алексей

    , Томск, ТПУ, 1 курс
  • Грунев Владимир

    , Новосибирск, НГТУ, 1 курс маг.
  • Ильин Александр

    , Новосибирск, НГУ, 4 курс
  • Кротов Евгений

    , Томск, ТГУ, 3 курс
  • Николаенко Софья

    , Новосибирск, НГТУ, 4 курс
  • Петракович Владимир

    , Новосибирск, НГТУ, 2 курс
  • Петрова Галина

    , Томск, ТПУ, 1 курс маг.
  • Скляров Михаил

    , Новосибирск, НГУ, 1 курс
  • Соколов Данила

    , Томск, ТГУ, 4 курс
  • Чувилев Константин

    , Томск, ТГУ, 4 курс

Отзывы участников

фото
Очень интересный и полезный опыт работы в команде над важными для профессионального развития темами. Классные и веселые ребята из Контура, которые не только помогают легко усвоить материал, но и не прочь посидеть в неформальной обстановке за настольными играми. 10/10!
Данила Бутин, Казань
фото
Кампус — это отличная площадка, чтобы прокачать себя как разработчика. Интересные лекции завершались не менее интересными практиками, они помогали закрепить только что полученные знания. Кампус развивает чувство командности, задания мы выполняли в паре, что впоследствии помогло мне быстрее влиться в работу в Контуре. Ну и не стоит забывать про новые интересные знакомства.
Илья Дубовцев, Ижевск
фото
Говорят, день Кампуса за пару лет идет. И в какой-то степени это правда! Конечно, нельзя за несколько дней научиться писать чистый код, полностью покрывать программу тестами, или познать всю прелесть TDD, но зато можно узнать основные принципы и понять, почему это необходимо делать. В целом, Кампус — это место, где начинающий программист может узнать что-то новое, посоревноваться с другими участниками и просто хорошо провести время :)
Альфия Хайруллина, Ижевск
фото
Кампус, в первую очередь, запомнился мне крутыми преподавателями, полезными темами и непринуждённой обстановкой. Особенно интересно было узнать что-то новое о проектировании, получить опыт в TDD и парном программировании, научиться писать чистый код. А окончание Кампуса мы отметили с пиццей :)
Альбина Галимзянова, Казань
фото
Приобрел на Кампусе много полезных знаний, было, конечно, сложновато, но интересно. Все организационные вопросы взял на себя Контур, так что ни о чем не пришлось заботиться. И в целом, это было очень круто!
Витя Андреенко, Оренбург

←  2013 — Екатеринбург (осень)      2014 — Екатеринбург (весна)  →