Следите за нами: 

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

При подготовке к новому Кампусу, ты можешь познакомится с тестовыми заданиями предыдущих школ. Ниже — тестовое задание с осеннего Кампуса 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 курс
  • Антропов Дмитрий

    , Екатеринбург, УрФУ, 2 курс
  • Жильцова Александра

    , Екатеринбург, УрФУ, 4 курс
  • Ишкулов Виталий

    , Екатеринбург, УрФУ, 1 курс маг.
  • Кондратьев Вячеслав

    , Екатеринбург, УрФУ, 3 курс
  • Кропанцев Никита

    , Екатеринбург, УрФУ, 2 курс
  • Леонтьев Алексей

    , Екатеринбург, УрФУ, 4 курс
  • Мезенцева Марина

    , Екатеринбург, УрФУ, 1 курс маг.
  • Нафиков Максим

    , Челябинск, ЧелГУ, 4 курс
  • Пахмутов Александр

    , Екатеринбург, УрФУ, 4 курс
  • Пляшкун Владимир

    , Екатеринбург, УрФУ, 1 курс маг.
  • Садовничая Евгения

    , Екатеринбург, УрФУ, 2 курс
  • Сырочкин Михаил

    , Екатеринбург, УрФУ, 4 курс
  • Телятникова Мария

    , Екатеринбург, УрФУ, 2 курс
  • Титков Илья

    , Екатеринбург, УрФУ, 3 курс
  • Третьяков Андрей

    , Екатеринбург, УрФУ, 1 курс маг.
  • Чикишев Владимир

    , Екатеринбург, УрФУ, 1 курс маг.

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

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

←  2013 — Ижевск      2013 — Новосибирск  →