[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как я в Яндекс.Алгоритм участвовал :-)
stump
Условие
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt


Михаил — обычный пользователь интернета. Когда Михаил ищет что-либо в интернете с помощью Яндекса, случается, что он допускает опечатки в поисковом запросе. Конечно же, в большинстве случаев Яндекс может угадать, что имел в виду Михаил, и исправить запрос. Например, если Михаил опечатался в слове «дезоксирибонукленовая» (что неудивительно),

Яндекс исправит запрос на «дезоксирибонуклеиновая».
Возможно, вы подумали, что в этой задаче вам нужно написать программу, исправляющую опечатки в запросе пользователя. Это не так: кроме этой задачи вам предложено ещё 5 увлекательнейших задач, а времени до конца соревнования осталось не так уж много. Просто проверьте, содержит ли очередной запрос Михаила опечатки.

Формат ввода
В первой строке входного файла находится запрос Михаила: от 1 до 5 слов, состоящих из строчных латинских букв и разделённых одиночными пробелами. Вторая строка содержит целое число N (1 ≤N ≤ 100): количество слов, содержащихся в словаре Яндекса (не волнуйтесь, в реальности количество слов, содержащихся в словарях Яндекса, гораздо больше ста). Третья строка содержит слова из словаря. Каждое слово представляет собой строку, состоящую из строчных латинских букв. Слова разделены одиночными пробелами. Гарантируется, что и слова из запроса, и слова из словаря содержат не более 20 букв.

Формат вывода
В единственной строке выходного файла выведите «Correct» (без кавычек), если все слова из запроса Михаила содержатся в имеющемся словаре, и «Misspell» (без кавычек), если хотя бы одного слова в словаре нет.

Пример 1
Ввод:
deoxyribonucleic acid
3
deoxyribonucleic acid sequencing
Вывод:
Correct

Пример 2
Ввод:
yandex algoritm
2
algorithm yandex
Вывод:
Misspell


Мой код
<?php

$string = explode("\n", file_get_contents("./input.txt"));

$count = 0;

$search = explode(" ", $string[0]);
$words = explode(" ", $string[2]);

foreach ($search as $value)
{
if ( in_array( trim($value), $words ) )
++
$count;
}

file_put_contents("output.txt", (count($search) === $count) ? "Correct\n" : "Misspell\n");



Для прохождения в следующем туре достаточно одного правильного решения. Но у меня получилось смешно (ну я посмеялся).

История такая:
Читаю условие: объем памяти 64Кб. Думаю ну ок. За 5 мин настучал скрипт, за 5 выбрал какими функциями я буду читать и писать файлы. Запускаю ~130Кб! :blink: - Это был я когда увидел размер памяти. Ну думаю надо уменьшить. Что если функции по ссылке вызвать, что если другую функцию поробовать, ага - unset применить. Наэкономил 11Кб. Финальный memory usage был 119Кб и уже прошло час 25 - осталось 15 мин. Ну я и так и сяк 64Кб никак. Думаю ну хрен с ним. Отправлю пусть забанит по переизбытку памяти. Заливаю, тесты колдуют результат и бинго - Ок! Ну хорошо же считаю, но все таки почему так?! Возвращаюсь к условию и вижу ограничение по памяти 64Мб :D .

Ну Ок! 2-мин. на остальные задачи. Но вся таки квалификация сдана. :lol:

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.