ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1081. Двоичная последовательность

what's wrong?
Послано Alias (Alexander Prudaev) 15 мар 2007 18:34
WA#9 But, Why? It' is right program!

    int p = n;
    for (int i = 0; i < n; i++)
    {
        if (f[p]>=k)    s[i] = '0';
        else
        {
            s[i] = '1';
            k -= f[p];
        }
        p--;
    }
    s[n] = 0;
    printf("%s\n",s);

f[1] = 1,
 f[2] = 2,
 f[i] = f[i-1]+f[i-2];

Edited by author 15.03.2007 18:38
Re: what's wrong?
Послано Yashar Abbasov 17 янв 2008 09:59
you forgot about -1. When k is bigger than all possible sequences then the answer is -1