You are given an integer sequence. [latex]a_1, a_2, \ldots, a_n (|a_i| \le 15007, 1 \le n \le 50000)[/latex]. A query is defined as follows: [latex]Query(x, y) = MAX (a_i + a_{i+1} + \ldots + a_j, x \le i \le j \le y)[/latex] Given [latex]m[/latex] queries, your program must output the results of these queries. Input The … Continue reading
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]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <iostream> using namespace std; long double fact(int f){ if(f < 0) return 0; if (f == 0) return 1; else return f * fact(f - 1); } int main() { long double x[31]; long double y[31]; x[1]=1; x[2]=2; y[1]=1; y[2]=2; for(int i=3; i<=25;i++){ x[i] = (y[i-1] - y[i-2])/i; y[i]=((x[i-1]*x[i-1])+x[i-2]+y[i-1])/fact(i); } for(int i=1;i<=25;i++){ cout<<"x"<<i<<" = "; cout<<x[i]<<endl; } for(int i=1;i<=25;i++){ cout<<"y"<<i<<" = "; cout<<y[i]<<endl; } return 0; } |
Ссылка на код в ideone Related Images:
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]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> using namespace std; int main() { int a[31]; a[1]=1; a[2]=1; for(int i=3; i<=30;i++){ a[i] = a[i/2] + a[i-2]; } for(int i=1;i<=30;){ cout<<i<<" "<<" element of the sequence = "; cout<<a[i]<<endl; i++; } return 0; } |
Ссылка на код в ideone Related Images:
e-olymp 2171. Поиск набора образцов
Задача. Напишите программу, которая для каждой строки из заданного набора [latex]S[/latex] проверяет, верно ли, что она содержит как подстроку одну из строк из набора [latex]T[/latex]. Входные данные Первая строка содержит натуральное число [latex]n (n\leq100)[/latex] — количество строк в наборе [latex]T[/latex]. Каждая из следующих [latex]n[/latex] строк содержит непустую строку длины не более [latex]80[/latex]-ти символов. Оставшаяся часть файла … Continue reading
e-olymp 2955. Персистентый массив
Условие Задача взята отсюда. Дан массив (вернее, первая, начальная его версия). Нужно уметь отвечать на два запроса: [latex]a_i[j] = x[/latex] — создать из [latex]i[/latex]-ой версии новую, в которой [latex]j[/latex]-ый элемент равен [latex]x[/latex], а остальные элементы такие же, как в [latex]i[/latex]-ой версии. [latex]get[/latex] [latex]a_i[j][/latex] — сказать, чему равен [latex]j[/latex]-ый элемент в [latex]i[/latex]-ой версии. Входные данные Количество чисел … Continue reading
e-olymp 695. Range Variation Query
Условие Задача взята отсюда. Последовательность [latex]a_n[/latex] задается следующей формулой: [latex]a_n = n^2 \mod 12345 + n^3 \mod 23456[/latex]. Требуется много раз отвечать на запросы следующего вида: найти разность между максимальным и минимальным значением среди элементов [latex]a_i, a_{i+1}, \ldots, a_j[/latex]; присвоить элементу [latex]a_i[/latex] значение [latex]j[/latex]. Входные данные Первая строка содержит натуральное число [latex]k[/latex] [latex](k \leq 10^5)[/latex] — количество запросов. Следующие [latex]k[/latex] строк … Continue reading
MLoop 8
Условие: Вычислите с точностью [latex]\varepsilon[/latex] значение функции [latex]f(x)=e^x[/latex]. При вычислениях допустимо использовать только арифметические операции. Входные данные: В единственной строке указаны два числа, разделенные пробелом: аргумент функции [latex]x[/latex] и точность [latex]\varepsilon[/latex]. Тесты: Входные данные Выходные данные [latex]x[/latex] [latex]\varepsilon[/latex] Результат 1 0.1 2.70833 1 0.001 2.71825 12 0.072 2.4155e+07 Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <cmath> using namespace std; int main() { double x, e; cin>>x>>e; double result=1; double component=1; for (int i=1; abs(component)>=e; i++) { component*=(x/i); result+=component; } cout<<result<<endl; return 0; } |
Описание решения: Для нахождения значения функции … Continue reading
e-olymp 2034. WERTYU
Входные данные Обычная ошибка при наборе состоит в том, что вы помещаете ваши руки на клавиатуру на один ряд правее верной позиции. Тогда «Q» печатается как «W«, «J» печатается как «K» и т.д. Ваша задача состоит в расшифровке сообщения, напечатанного таким образом. Входные данные Входные данные состоят из нескольких строк текста. Каждая строка может содержать … Continue reading
e-olymp 982. Связность
Задача. Проверить, является ли заданный неориентированный граф связным, то есть что из любой вершины можно по рёбрам этого графа попасть в любую другую. Входные данные В первой строке заданы количество вершин [latex]n[/latex] и ребер [latex]m[/latex] в графе соответственно [latex](1 \leq n \leq 100, 1 \leq m \leq 10000)[/latex]. Каждая из следующих m строк содержит по … Continue reading
e-olymp 1455. Цикл
Задача Дан граф. Определить, есть ли в нем цикл отрицательного веса, и если да, то вывести его. Входные данные Первая строка содержит количество вершин графа n (1 ≤ n ≤ 100). В следующих n строках находится по n чисел — матрица смежности графа. Веса ребер не превышают по модулю 10000. Если ребра нет, соответствующее значение … Continue reading
e-olimp 5079. Транзитивность ориентированного графа
Задача e-olimp 5079. Условие Напомним, что ориентированный граф называется транзитивным, если для любых трех различных вершин [latex]u[/latex], [latex]v[/latex] и [latex]w[/latex] из того, что из [latex]u[/latex] в вершину [latex]v[/latex] ведет ребро и из вершины [latex]v[/latex] в вершину [latex]w[/latex] ведет ребро, следует, что из вершины [latex]u[/latex] в вершину [latex]w[/latex] ведет ребро. Проверьте, что заданный ориентированный граф является транизитивным. Входные данные Входной файл содержит … Continue reading
e-olymp 1453. Форд-Беллман
Условие Дан ориентированный граф, в котором могут быть кратные ребра и петли. Каждое ребро имеет вес, выражающийся целым числом (возможно, отрицательным). Гарантируется, что циклы отрицательного веса отсутствуют. Требуется посчитать длины кратчайших путей от вершины номер [latex]1[/latex] до всех остальных вершин. Сначала записано количество вершин графа [latex]n[/latex] ([latex]1 \leq n \leq 100[/latex]), за которым идет количество … Continue reading
e-olymp 5071. Проверка на неориенитрованность
Задача. Проверка на неориенитрованность Условие задачи По заданной квадратной матрице [latex]n\times n[/latex] из нулей и единиц определите, может ли данная матрица быть матрицей смежности простого неориентированного графа. Входные данные Входной файл содержит число [latex]n(1\leq n\leq 100)[/latex] — размер матрицы, и затем [latex]n[/latex] строк по [latex]n[/latex] чисел, каждое из которых равно [latex]0[/latex] или [latex]1[/latex] — саму матрицу. … Continue reading
A305
Задача A305 Условие задачи Даны действительные числа [latex]a_{1},\dots,a_{n}[/latex]. Оставить без изменения последовательность [latex]a_{1},\dots,a_{n}[/latex], если она упорядочена по неубыванию или по невозрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырём, сохранив прежним порядок оставленных членов. Тестирование № Входные данные Выходные данные 1. 5 -1 2 3 4 5 -1 2 3 4 … Continue reading
e-olymp 978. Получи дерево
Задача с сайта e-olymp.com. Условие Дан связный неориентированный граф без петель и кратных ребер. Разрешается удалять из него ребра. Требуется получить дерево. Входные данные Первая строка содержит количество вершин [latex]n[/latex] (1 ≤ [latex]n[/latex] ≤ 100) и количество ребер [latex]m[/latex] графа. Следующие [latex]m[/latex] пар чисел задают ребра графа. Гарантируется, что граф связный. Выходные данные Выведите [latex]n — … Continue reading
e-olymp 1342. Периодические строки
Задача взята с сайта e-olymp.com Условие задачи Будем говорить, что символьная строка имеет период [latex]k[/latex], если она может быть образована путем объединения одной или нескольких одинаковых строк длиной [latex]k[/latex]. Например, строка «[latex]abcabcabcabc[/latex]» имеет период [latex]3[/latex], так как она может быть образована путём объединения [latex]4[/latex]-х строк «[latex]abc[/latex]». Она также имеет период [latex]6[/latex] (объединение двух строк «[latex]abcabc[/latex]») … Continue reading
A288
Задача A288 Условие задачи Даны целые числа [latex]a_{1}[/latex], …, [latex]a_{n}[/latex], каждое из которых отлично от нуля. Если в последовательности отрицательные и положительные члены чередуются (+, –, +, –, или –, +, –, +, … ), то ответом должна служить сама исходная последовательность. Иначе получить все отрицательные члены последовательности, сохранив порядок их следования. Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#include <vector> #include <iostream> using namespace std; int main() { vector <int> a, b; bool alternate = true; //переменная, которая изменяет свое значение, в зависимости от того, чередуются знаки (true) или нет (false) int a1; //первый элемент cin >> a1; int tester = a1; //в переменной хранится значение, с которым будут сравниваться последующие if (a1 > 0){ b.push_back(a1); } else if (a1 < 0){ a.push_back(a1); b.push_back(a1); } int n; while (cin >> n){ if (n > 0){ b.push_back(n); } if (n < 0){ a.push_back(n); b.push_back(n); } if (tester*n > 0) alternate = false; //если встретили два значения подряд одного знака tester = n; } if (alternate == true){ for (int i = 0; i < b.size(); i++){ cout << b[i] << " "; } } if (alternate == false){ for (int i = 0; i < a.size(); i++){ cout << a[i] << " "; } } return 0; } |
Тесты … Continue reading
e-olymp 5082. Степени вершин
Условие Задача взята с сайта e-olymp. Дан простой неориентированный невзвешенный граф. Требуется для каждой вершины подсчитать ее степень. Входные данные В первой строчке находится число [latex]1 \leq N \leq 1000[/latex] В следующих [latex]N[/latex] строчках находится матрица смежности. Выходные данные Выведите [latex]N[/latex] чисел – степени всех вершин. Тесты Ввод Вывод 2 0 1 1 0 1 1 3 0 … Continue reading
e-olymp 6127. Очередь неограниченного размера
Задача Реализуйте структуру данных «очередь«. Напишите программу, содержащую описание очереди и моделирующую работу очереди, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы: push n Добавить в очередь число n (значение n … Continue reading
MLoops15
Задача. Найдите закономерность и напишите программу, которая выводит аналогичную таблицу для любых чисел [latex]m>0[/latex] (количество столбцов) и [latex]n>0[/latex] (количество строк). При чем [latex]k<m[/latex]. Многоточие означает продолжение последовательности.
1 2 3 4 5 6 |
112233...kk112233...kk1122 k112233...kk112233...kk112 kk112233...kk112233...kk11 .kk112233...kk112233...kk1 ..kk112233...kk112233...kk ...kk112233...kk112233...k |
Тесты [latex] m[/latex] [latex] n[/latex] [latex] k[/latex] Результат 25 4 8 1122334455667788112233445 8112233445566778811223344 8811223344556677881122334 7881122334455667788112233 8 9 3 11223311 31122331 33112233 23311223 22331122 12233112 11223311 31122331 33112233 4 4 3 1122 3112 … Continue reading
Для отправки комментария необходимо войти на сайт.