А402б

Задача

Даны натуральное число  [latex] n \geq 2 [/latex], действительная квадратная матрица порядка  [latex] n [/latex]. Построить последовательность  [latex] b_{1}, \ldots, b_{n} [/latex]  из нулей и единиц, в которой  [latex] b_{i} = 1 [/latex]  тогда и только тогда, когда элементы  [latex] i [/latex]  строки образуют возрастающую или убывающую последовательность.

Тесты

Ввод Вывод
[latex] \begin{pmatrix} 1 & 2.5 & 3 & -5 & 2 \\ -7 & -4.5 & -2.8 & 0 & 1 \\ 8 & 3 & 0 & -2.9 & -4.62 \\ 8 & 3 & 3 & -2.9 & -4.62 \\ 1 & 2 & 3 & 3 & 4 \end{pmatrix} [/latex]  [latex] \begin{matrix} 0 \\ 1 \\ 1 \\ 0 \\ 0 \end{matrix}[/latex]

 

Код на С++

Ideone (C++)

Код на Java

Ideone (Java)

Решение

1) Считываем матрицу

2) Просматриваем по очереди строки матрицы. Фиксируем знак разности первых двух элементов строки и пробегаем строку, сравнивая знак соседних элементов со знаком первых двух. Если последовательность убывает/возрастает, знаки всех пар должны совпадать со знаком первой и никакие два подряд идущих элемента не должны совпадать.

 

Related Images:

4 thoughts on “А402б

  1. Задача не зачтена ещё с прошлого года. Видимо после очередных изменений Вы забыли поставить её на проверку.

    Поставьте в тест вместо 0 ещё одну тройку. Почувствуйте разницу между возрастающей и неубывающей последовательностью.
    Стоит бы пересмотреть код с высоты нового опыта.

    • Код и пример изменены. У меня была неверная программа: она не учитывала случай убывающей/невозрастающей последовательностей.

Добавить комментарий