Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Паскаль | Алгоритмический язык |
const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i := 1 to N do readln(a[i]); ... end. | алг нач цел N = 30 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон |
С++ | Python |
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k; for (i = 0; i<N; i++) cin >> a[i]; ... return 0; } | # допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a. append(int(input())) ... |
Решение. Во-первых, нужно найти максимальную сумму двух соседних элементов. Для хранения этой суммы будем использовать переменную k, которой присвоим начальное значение 0, так как по условию, в массиве не будет значений меньше 0. В цикле рассмотрим все пары соседних элементов. Если сумма в текущей паре больше, чем значение k, то в k сохраняем эту сумму.
Во-вторых, в массиве нужно заменить значения, кратные 3, на найденную сумму. Сделаем это в следующем цикле. Чтобы в этом же цикле напечатать элементы в обратном порядке, цикл организуем от последнего до первого элемента.
Вывод на экран можно оформить и отдельно, как третий цикл.
Полное решение на языке Паскаль:
k := 0; { максимальная сумма двух соседних элементов }
for i := 1 to N-1 do
if a[i]+a[i+1] > k then
k := a[i]+a[i+1];
for i := N downto 1 do begin { от последнего до первого }
if a[i] mod 3 = 0 then
a[i] := k;
writeln(a[i]);
end;
Полное решение на языке Python:
k = 0 # максимальная сумма двух соседних элементов
for i in range(0, n-1):
if a[i]+a[i+1] > k:
k = a[i]+a[i+1]
for i in range(n-1, -1,-1): # от последнего до первого
if a[i] % 3 == 0:
a[i] = k
print(a[i])
Задание 26 (высокий уровень). Задание высокого уровня сложности на поиск выигрышной стратегии. В 2018 году количество выпускников решивших задание увеличилось на 16,53% и составило 53,5% по сравнению с 2017 годом. Выпускники допустили следующие ошибки: отсутствие прямого ответа на поставленный вопрос; отсутствие описания стратегии выигрывающего игрока; в описании выигрышной стратегии для определенной позиции не указан ни один из выигрышных ходов; в описании верной стратегии присутствует обоснование с логическими ошибками.
Пример:
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций: (11, 7), (20, 7), (10, 8), (10, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 73. Победителем считается игрок, сделавший последний ход, т. е. первым получивший такую позицию, что в кучах всего будет 73 камня или больше.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (6, 34), (7, 33), (9, 32) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.
Задание 1
Для каждой из начальных позиций (6, 33), (8, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 2
Для каждой из начальных позиций (6, 32), (7, 32), (8, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
Задание 3
Для начальной позиции (7, 31) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.
Решение:
Задание 1. Из всех заданных начальных позиций минимальное количество камней в первой куче – 6. Если во второй куче было S камней, то после первого хода Пети количество камней в двух кучах может стать равным.7+S (после добавления 1 камня в любую кучу).
12+S (после удвоения первой кучи).
6+2S (после удвоения второй кучи).
Выписываем условия выигрыша на первом ходу для всех трёх вариантов:
7 + S ≥ 73 ⇒S ≥ 66; 12 + S ≥ 73 ⇒S ≥ 61; 6 + 2S ≥ 73 ⇒S ≥ 34.
Отсюда следует, что при S ≥ 34 Петя выиграет первым же ходом, удвоив число камней во второй куче.
Составим таблицу выигрышных и проигрышных позиций. По вертикали будем откладывать количество камней в первой куче, а по горизонтали – во второй (там больше!). Зеленым фоном отметим выигрышные позиции:31 | 32 | 33 | 34 | 35 | 36 |
6 |
7 + 2S ≥ 73 ⇒S ≥ 33
31 | 32 | 33 | 34 | 35 | 36 |
6 | |||||
7 |
для 8 камней – тоже с 33, а для 9 – с 32:
31 | 32 | 33 | 34 | 35 | 36 |
6 | |||||
7 | |||||
8 | |||||
9 |
31 | 32 | 33 | 34 | 35 | 36 |
6 | |||||
7 | |||||
8 | |||||
9 |
31 | 32 | 33 | 34 | 35 | 36 |
6 | |||||
7 | |||||
8 | |||||
9 |

То же решение в виде таблицы
Начало | Петя | Ваня | Петя | Ваня |
(7,31) | (8,31) | (8,32) | (9,32) | (9,64) |
(8,33) | (8,66) | |||
(7,32) | (16,32) | (16,64) | ||
(8,64) | ||||
(14,31) | (14,62) | |||
(7,62) |
Задание 27 (высокий уровень). Задание высокого уровня сложности проверяет умения создавать самостоятельные программы, обработку данных, вводимых в виде символьных строк или последовательности чисел. С ним справилось 16,5% выпускников, что на 3,4% меньше чем в 2017 году. Количество выпускников, выполнивших задание не велико. Что связано с недостаточной подготовкой сильных выпускников, неумением распределять время при решении КИМ, нежеланием тратить время и силы на выполнение самого трудного задания.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


