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

Обсуждение задачи 1007. Кодовые слова

To admins: There are no more than 1000 words in the file?
Послано Макс 6 дек 2006 22:06
I know that it is stupid to read all strings and then process them, instead of reading one - processing it, reading next, processing it and so on.
But I coded as wrote before(read all and then solve)

I created int r[1024][1024], because in the task there is written that "There are no more than 1000 words in the file", and size of each is no more than 1001(initially is 1000, but with one inserted symbol...). I got Crash(access violation), I guessed that maybe I addressed inaccessible memory.
I updated my code and replaced it by this:

char r[1024][1024];

    string s;
    cin>>n;

    m = 0;
    cin>>s;
    while (!(cin.eof())){
        if (m > 1000)
            continue;
        if (s.size()>n+1)
            return;
        if (s.size()<n-1)
            return;
        strcpy(r[m++],s.c_str());
        len[m-1] = strlen(r[m-1]);
        cin>>s;
    }

and got TL test 3. So it was, I think, because of
        if (m > 1000)
            continue;

then I made int r[3000][1024] and got AC ))
why? maybe there is more than 1000 words in the file?
Yes, there are about 2000 words in test 3 (-)
Послано Vladimir Yakovlev (USU) 7 дек 2006 20:20
Re: Yes, there are about 2000 words in test 3 (-)
Послано svr 7 дек 2006 22:50
It,s unfair!
One year I have been thinking that "I too stupid to
solve this problem"
Firstly we are supplied with onest information
and immediately have Ac  simply increased sizez of arrays.
I think there are not fewer than 10-15 such problem's
statements with errors.