e-olymp 974. Флойд-1

Полный ориентированный взвешенный граф задан матрицей смежности. Постройте матрицу кратчайших путей между его вершинами. Гарантируется, что в графе нет циклов отрицательного веса.

Входные данные

В первой строке записано количество вершин графа n (1n100). В следующих n строках записано по n чисел — матрица смежности графа (j-ое число в i-ой строке соответствует весу ребра из вершины i в вершину j). Все числа по модулю не превышают 100. На главной диагонали матрицы — всегда нули.

Выходные данные

Выведите n строк по n чисел — матрицу кратчайших расстояний между парами вершин. j-ое число в i-ой строке должно равняться весу кратчайшего пути из вершины i в вершину j.

 

Сам алгоритм хорошо описан на wikipedia

А вот сам код

 

 

e-olimp 6129. Дек с защитой от ошибок

Задача:

Реализуйте структуру данных «дек«. Напишите программу, содержащую описание дека и моделирующую работу дека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:

push_front

Добавить (положить) в начало дека новый элемент. Программа должна вывести ok.

push_back

Добавить (положить) в конец дека новый элемент. Программа должна вывести ok.

pop_front

Извлечь из дека первый элемент. Программа должна вывести его значение.

pop_back

Извлечь из дека последний элемент. Программа должна вывести его значение.

front

Узнать значение первого элемента (не удаляя его). Программа должна вывести его значение.

back

Узнать значение последнего элемента (не удаляя его). Программа должна вывести его значение.

size

Вывести количество элементов в деке.

clear

Очистить дек (удалить из него все элементы) и вывести ok.

exit

Программа должна вывести bye и завершить работу.

Гарантируется, что количество элементов в деке в любой момент не превосходит 100. Перед исполнением операций pop_front,pop_back, front, back программа должна проверять, содержится ли в деке хотя бы один элемент. Если во входных данных встречается операция pop_front, pop_back, front, back, и при этом дек пуст, то программа должна вместо числового значения вывести строку error.

 

 

Решенная задача на e-olimp

Код на ideone

A280

Условие: Пусть [latex] x_{i},y_{i} [/latex]   ( i=1,2, . . .)  и определены, как в задаче 167. Получить [latex] x_{1},\ldots ,x_{25},y_{1},\ldots y_{25}. [/latex]

Задача А167: Пусть [latex] x_{1}=y_{1}=1;[/latex] [latex] x_{2}=y_{2}=2;[/latex] [latex]x_{i}=\dfrac{y_{i-1}-y_{i-2}}{i};[/latex] [latex] y_{i}=\dfrac{x_{i-1}^{2}+x_{i-2}+y_{i-1}}{i!};[/latex] [latex]i=3,4,\ldots[/latex]

 

Ссылка на код в ideone

A276

Условие: Построить последовательность целых чисел [latex]a_{1},\ldots ,a_{30},[/latex] где [latex]a_{1}=1,a_{2}=1;a_{i}=a_{i/2}+a_{i-2}\left( i=3,\ldots ,30\right) .[/latex]

Ссылка на код в ideone

Mloops3

Задача:

Найдите закономерность и напишите программу, которая выводит аналогичную таблицу для любых чисел [latex]n>0[/latex] (количество столбцов) и [latex]m>0[/latex] (количество строк).

Входные данные:

Количество столбцов [latex]n>0[/latex] и строк [latex]m>0[/latex]

Выходные данные:

Таблица размером [latex]n\quad x\quad m[/latex]  из символов +*-.

Код программы:

Решение:

У нас имеются две переменные [latex]n[/latex] и [latex]m[/latex] (количество столбцов и строк).
Нам надо создаем два цикла (for) один из которого содержит другой. Внешний цикл нужен для переноса на следующую строку  внутренний же нужен для на рисования самих строк.

Если рассмотреть картинку которую выводит программа то можно заметить что через каждые 5 символов у нас появляется «-«, тобто каждый шестой символ это «-«. Для этого и нужен второй тернарный оператор который будет проверять на кратность трем.

Ссылка на код в ideone

MLoop6

Условие задачи:

Вычислите с точностью [latex]\varepsilon[/latex] значение функции [latex]f\left( x \right) =\cos x[/latex] . При вычислениях допустимо использовать только арифметические операции.

Алгоритм решения:

Для решения данной задачи я использовал Ряд Маклорена:.
[latex]\cos x = 1-\frac {x^{2}}{2!}+\frac{x^{4}}{4!}-\cdots = \displaystyle\sum_{n=0}^{\infty}\frac{(-1)^{n} }{(2n)!}x^{ 2n },x\in{C}[/latex].

Тесты:

X   E Answer
1 0.0001 0.540278
1 0.000001 0.540303
-1 0.0001 0.540278
5 0.0001 0.283625

Код программы:

 

Объяснение Кода:

В коде используются 7 переменных а именно: [latex]x[/latex], [latex]x2[/latex], [latex]c[/latex], [latex]e[/latex],  [latex]n[/latex], [latex]f[/latex], [latex]z[/latex].
Переменная [latex]x[/latex] отвечает за [latex]x[/latex],   [latex]x2[/latex] за [latex]{ x }^{ n }[/latex],     [latex]c[/latex] за [latex]\cos x[/latex],  [latex]e[/latex] за [latex]\varepsilon[/latex] (epsilon-точность вычисления),  [latex]n[/latex] за порядковый номер,   [latex]f[/latex] за [latex]n![/latex]   и   [latex]z[/latex] за [latex]{ (-1) }^{ n }[/latex].

Ссылка на код в ideone