andreykrutenko
?>

Дан одномерный массив натуральных чисел, состоящий из N элементов (const N=10 Найти максимальную сумму элементов не кратную 3. В сумму может войти любое количество элементов. Если такую сумму вычислить нельзя, то вывести ‘NO’ Пример работы программы: Ввод: 1 3 3 3 2 3 3 3 3 3 Вывод: 26

Информатика

Ответы

milo4ka26
Представим куб в виде графа его каркаса. Пронумеруем все вершины куба цифрами от 1 до 8. Задача сводится к обычному обходу в ширину. Для четных N ответ будет 0, т.к. нельзя дойти на противоположную вершину за четное кол-во шагов. ответ будет расти в геометрической прогрессии в зависимости от N. Программа:

const
  m: array[1..8, 1..8] of byte = 
 ((0, 1, 1, 1, 0, 0, 0, 0),
  (1, 0, 0, 0, 1, 0, 1, 0),
  (1, 0, 0, 0, 1, 1, 0, 0),
  (1, 0, 0, 0, 0, 1, 1, 0),
  (0, 1, 1, 0, 0, 0, 0, 1),
  (0, 0, 1, 1, 0, 0, 0, 1),
  (0, 1, 0, 1, 0, 0, 0, 1),
  (0, 0, 0, 0, 1, 1, 1, 0));
  
var
  n, i, j, k: integer;
  a: array[0..100, 1..8] of int64;
begin
  read(n);
  a[0, 1] := 1;
  for k := 1 to n do
    for i := 1 to 8 do
      for j := 1 to 8 do
        if m[i, j] = 1 then
          a[k, i] := a[k, i] + a[k - 1, j];
  write(a[n, 8]);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан одномерный массив натуральных чисел, состоящий из N элементов (const N=10 Найти максимальную сумму элементов не кратную 3. В сумму может войти любое количество элементов. Если такую сумму вычислить нельзя, то вывести ‘NO’ Пример работы программы: Ввод: 1 3 3 3 2 3 3 3 3 3 Вывод: 26
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ivanov568
Svetlana1335
mamaevmvv3
alekbur
АльбертовичБерезин58
strannaya2018
ovalenceva77
Лебедев972
tonyakuznetsova
АлександровнаВладимирович1424
arturo95
Гарик383
dawlatowajana
Blekjek730
margarita25061961