Автор | Сообщение |
|
Отправлено: 16.03.12 12:27. Заголовок: [C2] Пример №3
Не учитывается случай, когда самая длинная группа подряд идущих совпадающих элементов расположена в конце массива. Например, массив: 1 1 2 2 2 и программа выведет 2, а не 3.
|
|
|
Ответов - 5
[только новые]
|
|
|
| Администратор
|
Сообщение: 176
|
|
Отправлено: 16.03.12 13:20. Заголовок: Архипова пишет: Не у..
Архипова пишет: цитата: | Не учитывается случай, когда самая длинная группа подряд идущих совпадающих элементов расположена в конце массива. Например, массив: 1 1 2 2 2 и программа выведет 2, а не 3. |
|
Теперь запустите программу и удивитесь. Я, кстати, это сделать еще раз не поленился. Будут вопросы - пишите. :-)
|
|
|
|
Отправлено: 16.03.12 16:49. Заголовок: Уважаемый Константин..
*PRIVAT*
|
|
|
|
| Администратор
|
Сообщение: 179
|
|
Отправлено: 16.03.12 16:53. Заголовок: Архипова пишет: Ведь..
Архипова пишет: цитата: | Ведь в разработанном сотрудниками ФИПИ издании "ЕГЭ 2011. Информатика. Типовые тестовые задания" в варианте для аналогичной задачи С2 предлагается несколько другой алгоритм, не столь изящный, как у Вас. Что вы думаете по этому поводу?- |
|
Я думаю, что все зависит от грамотности эксперта. А в случае чего есть возможность подать апелляцию. :-)
|
|
|
|
Отправлено: 28.04.12 12:17. Заголовок: На мой взгляд немног..
На мой взгляд немного более эффективной будет следующая программа: const N =30; var a: array[1..N+1] of integer; i, k, kMax: integer; begin for i:=1 to N do read(A[i]); { ввод массива } k := 1; { обрабатываем A[1] } kMax := 1; A[N+1] := A[N]+1; { своего рода барьерный элемент: в последней итерации должна сработать ветвь else } for i:=2 to N+1 do begin { а теперь в цикле A[2]...A[N+1] } if A[i] = A[i-1] then { цепочка продолжается } k := k + 1 else begin { цепочка закончилась } if k > kMax then kMax := k; k:=1 end end; writeln(kMax) end. Здесь каждый раз не проверяется условие if k > kMax ..., а только по необходимости. Однако, массив расширен на один элемент A[N+1], не равный A[N]. Не знаю, как отнесутся к этому расширению эксперты. Чисто формально могут придраться, наверное.
|
|
|
|
| Администратор
|
Сообщение: 282
|
|
Отправлено: 28.04.12 12:21. Заголовок: Alexander пишет: На ..
Alexander пишет: цитата: | На мой взгляд немного более эффективной будет следующая программа: |
|
Барьерный метод - это классика. Но в С2 нельзя менять размер массива.
|
|
|
|