q
Mail.RuПочтаМой Мир0ОдноклассникиИгрыЗнакомстваНовостиПоиск
Имя    ( регистрация )
Пароль ( забыли? )

Метки  

Календарь


Задача E: Проблема безопасности

Берляндский алфавит состоит из N букв. Петя пишет письмо Маше. Он хочет зашифровать письмо, заменив каждую букву последовательностью цифр, в которой можно использовать цифры от 0 до K (0 ≤ K ≤ 9) включительно. Для каждой буквы алфавита известна длина p_i соответствующей последовательности цифр. Во избежание возможности неправильного толкования Петя хочет, чтобы любое зашифрованное сообщение имело только один вариант расшифровки. Найдите такой набор последовательностей цифр, или укажите, что его не существует.
Входные данные.
В первой строке входного файла содержатся целые числа N, K (1 ≤ N ≤ 100; 0 ≤ K ≤ 9), где N - количество букв в алфавите, а K - наибольшая цифра, которую можно использовать. Во второй строке записана последовательность целых чисел p_1, p_2, …, p_N (1 ≤ p_i ≤ 100).
Выходные данные.
Выведите N строк, i-ая строка должна содержать последовательность цифр, которой следует шифровать i-ую букву алфавита. Если решение несколько, выведите любое. Если искомого набора не существует, выведите в выходной файл строку "NO SOLUTION".
Примеры:
input.txtoutput.txt
Пример #13 1
2 1 2
00
1
10
Пример #25 1
2 2 2 2 2
NO SOLUTION
Пример #34 2
1 2 1 2
0
10
2
11

Ограничение времени: 1 секунды
Ограничение памяти: 64 мегабайта
Входной файл: input.txt
Выходной файл: output.txt

Нравится
Написать комментарий


     16-03-2007 12:31 (ссылка)
Re: Задача E: Проблема безопасности
Скажите пожалуйста, может ли на пример №3 ответом быть следующее:

0
20
1
21

Спасибо.
     16-03-2007 12:33 (ссылка)
Re: Задача E: Проблема безопасности
Почему возникает ошибка компиляции? Подход #468. Пишу на Visual Studio 6.0 . Знаю, единственную ошибку которая может возникать, с циклом for(). Но эту багу я проверил.
     16-03-2007 17:58 (ссылка)
Re: Задача E: Проблема безопасности
Уважаемые! А можно будет после окончания чемпионата где-нибудь добыть тесты програм, в смысле входные файлы по которым система тестирует решения?
(Исключительно в целях самообразования)))
     16-03-2007 22:17 (ссылка)
Re: Задача E: Проблема безопасности
И еще вопрос: может ли решение проходить всего один тест если на всех трех приведенных примерах она выдает правильный результат?
Я не знаю просто в чем еще искать баг - я отчаялся)))
     16-03-2007 23:27 (ссылка)
Re: Задача E: Проблема безопасности
Может ли на тест номер три быть такой ответ:
1
10
0
00
Александр Малахов      16-03-2007 23:29 (ссылка)
Re: Задача E: Проблема безопасности
Да блин. Там где пропуск, там стоит 0.
Иван Образцов      19-03-2007 12:52 (ссылка)
Ошибка компиляции
Подход #642 вызвал ошибку компиляции. После безуспешных попыток найти этому объяснение случайно увидел, что проверочный компилятор был заменен с С++ 7.1 (VS 2003) на C++ 8 (VS 2005), который не прощает некоторые вольности. Хотя даже в письмах он до сих пор фигурирует как С++ 7.1.
Вопрос следующий: можно ли аннулировать неудачную попытку #642 (выполненную по ранее опубликованным требованиям), если попытка #644 (доработанная для VS 2005) прошла чисто.

Написать комментарий