ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 76262
УсловиеДан массив a[1..n] и число b. Переставить числа
в массиве таким образом, чтобы слева от некоторой границы
стояли числа, меньшие или равные b, а справа от
границы — большие или равные b. Число действий
порядка n.
Решениеl:=0; r:=n; {инвариант: a[1]..a[l]<=b; a[r+1]..a[n]>=b} while l <> r do begin | if a[l+1] <= b then begin | | l:=l+1; | end else if a[r] >=b then begin | | r:=r-1; | end else begin {a[l+1]>b; a[r]<b} | | ..поменять a[l+1] и a[r] | | l:=l+1; r:=r-1; | end; end; Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|
![]() |
Проект осуществляется при поддержке