Добро пожаловать! Войти Зарегистрироваться

Расширенный

III-я тренировка: только мальчики!

Написал zzz 
zzz
III-я тренировка: только мальчики!
08 November 2006 18:06
3rd MAI Boot Programming Contest, November 8, 2006.

rank name login a b c = Score
-------------------------------------------------------------
1 Захаров А. В. 5_104 3- 0- 1+ 1 76
2 Иноземцев А. О. 7_104 1- 0- 5+ 1 175
Re: III-я тренировка: только мальчики!
09 November 2006 15:03
Задачи доступны в дорешивании с 22:23 среды, условия попытаюсь опубликовать сегодня (они аналогичны розданным).
____________

Это тысячное сообщение в этом разделе форума smiling smiley
Re: III-я тренировка: только мальчики!
11 November 2006 23:11
Мне уже надоело смотреть на одни и те же ошибки!

Если сказано что в строке расположено только одно число, то его нужно читать с помощью readln, а не read (это касается всех языков програмирования), в этом случае вам не требуется использовать умные и к сожалению медленные проверки на конец файла! ВСЕ строки заканчиваются переводом строки (если это не оговорено особо). Вопросы по условиям можно задавать мне (подсказки в форуме больше давать не буду).
zzz
Re: III-я тренировка: только мальчики!
13 November 2006 16:04
AlTi писал(а):

> Мне уже надоело смотреть на одни и те же ошибки!
>
> Если сказано что в строке расположено только одно число, то его
> нужно читать с помощью readln, а не read (это касается всех
> языков програмирования), в этом случае вам не требуется
> использовать умные и к сожалению медленные проверки на конец
> файла! ВСЕ строки заканчиваются переводом строки (если это не
> оговорено особо). Вопросы по условиям можно задавать мне
> (подсказки в форуме больше давать не буду).

Это материал 11-й ЛР!
Re: III-я тренировка: только мальчики!
15 November 2006 21:09
Внимание, вопрос (по задаче 1):
Решение 1 (TLE test 4):
L=[]
N=int(raw_input())
while (1):
>>> try:
>>>>>> x=int(raw_input())
>>> except:
>>>>>> break
>>> L.append(x)
L.sort()
print L[N-1]
Решение 2 (WA 1):
#include <stdio.h>
#include <algorithm>

int yes[20000000];
int main(){
int N=0;
int M;
scanf(" %d",&M);
while (!feof(stdin)){
scanf(" %d",&(yes[N]));
N++;
}
std::sort(&yes[0],&yes[N]);
printf("%d\n",yes[M-1]);
return 0;
}
По сути эти решения одинаковые и выполняют одни и те же действие...
Так почему такой разный результат???
Может, я вообще С++ не знаю, но сколько тестил, разницы в работе этих двух прог не нашёл.
Re: III-я тренировка: только мальчики!
17 November 2006 19:07
Чтение в си++ неправильно, верно к примеру так:
while (scanf(" %d",&(yes[N]))==1)N++;
К сожалению, только зарегистрированные пользователи могут писать в этом форуме.

Авторизоваться на форуме