|
|
|
|
|
|
|
Вернуться
| 1 Делюкин Максим Викторович, 06 декабря 2009 г. 21:40:45 | |
Могу код написать. Но суть такая: n - текущая позиция (уменьшаем число на 1 сначала) step = 26; //еще вычисляем l пока ( n > 0 ) { n = n - 1; //убираем из рассмотрения первый символ, сначала он z n = n % l //l - длина одного из двух полей, что осталась //если n >= l, то n находится во второй строке, которая идентична с первой step = step - 1; l = l / 2; } когда n = 0, выводиь step'тый символ строки английского алфавита. Долго отлаживал, но получил 100 баллов.
|
|
|
| 2 Шатов Дмитрий Сергеевич, 06 декабря 2009 г. 18:55:07 | |
|
эх, если бы я начал олимпиаду не на пол часа позже ее начала..и не убил бы почти всё время на решение первой задачи... а потом на решение второй, чтобы убедиться, что ее долго придется оформлять в качестве кода...
|
|
|
| 3 Шатов Дмитрий Сергеевич, 06 декабря 2009 г. 18:52:11 | |
очень просто 1.первые 26 символов строчки - это алфавит в обратном порядке 2. если удалить первый символ, то первая и вторая половины строчки будут идентичны
|
|
|
| 4 Мирный, 06 декабря 2009 г. 16:23:19 | |
|
Закономерность-то я нашёл, а, вот использовать её...
|
|
|
| 5 Павленко Кирилл Евгеньевич, 06 декабря 2009 г. 16:18:55 | |
|
Ну-ка, ну-ка. Подскажите-ка, как сделать эту задачку :) А то строчка наша в память не уложилась. Что делать? :) Неужели можно вывести четкую закономерность?
|
|
|
| 6 Делюкин Максим Викторович, 06 декабря 2009 г. 14:28:54 | |
|
Я доолго обращал эту закономерность в нужное русло...
|
|
|
| 7 Шатов Дмитрий Сергеевич, 06 декабря 2009 г. 14:26:04 | |
|
ага, сравните еще 67108863 байта и 16 мегабайт...там с целой строкой памяти не хватит никак, лучше бы обратили внимание на закономерность в этой строке
|
|
|
| 8 Делюкин Максим Викторович, 06 декабря 2009 г. 13:13:16 | |
Подсказка дана в условии в ограничении для N. Обратите внимание на ограничение по памяти в задаче. Подумайте, поместится ли полная строка в отведенные 16 мегабайт.
|
|
|
| 9 :), 06 декабря 2009 г. 13:02:26 | |
|
Не знаю точно, но у меня 67108863
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |