Задача: Дана матрица [latex]A[/latex] размера [latex]m\times n[/latex]. Найти матрицу [latex]AA^{*}[/latex] (её размер [latex]m\times m[/latex]). [latex]m[/latex] [latex]n[/latex] [latex]A[/latex] [latex]AA^{*}[/latex] 3 5 1 2 3 4 5 0 0 0 78 92 6 7 8 9 110 55 772 630 772 14548 10822 630 10822 12330 Тест пройден 2 4 11 22 33 44 76 0 1 … Continue reading
e-olymp 1061. Покраска лабиринта
Задача e-olimp 1061. Лабиринт представляет собой квадрат, состоящий из N×N сегментов. Каждый из сегментов может быть либо пустым, либо заполненным камнем. Гарантируется, что левый верхний и правый нижний сегменты пусты. Лабиринт обнесен снизу, сверху, слева и справа стенами, оставляющими свободными только левый верхний и правый нижний углы. Директор лабиринта решил покрасить стены лабиринта, видимые изнутри. Помогите … Continue reading
А714
Задача Комплексная матрица [latex]Z[/latex] представляется парой [latex]X[/latex], [latex]Y[/latex] действительных матриц так, что [latex]Z=X+iY[/latex]. Даны действительные квадратные матрицы [latex]A[/latex], [latex]B[/latex], [latex]C[/latex] и [latex]D[/latex] порядка [latex]m[/latex]. Найти произведение двух комплексных матриц [latex]A+iB[/latex] и [latex]C+iD[/latex], т. е. найти действительные квадратные матрицы [latex]X[/latex] и [latex]Y[/latex] порядка [latex]m[/latex] такие, что [latex]X+iY=(A+iB)(C+iD)[/latex]. Пример Входные данные Вывод 3 9 5 4 8 5 2 6 1 3 1 4 6 5 3 1 9 8 7 4 … Continue reading
A708
Задача Даны квадратная матрица [latex]A[/latex] порядка [latex]m[/latex], натуральное число [latex]n[/latex]. Получить матрицу [latex]E+A+A^2+A^3+\dots+A^n,[/latex] где [latex]E[/latex] — единичная матрица порядка [latex]m[/latex]. Тесты m, n матрица А результат 3 3 3 2 1 5 7 3 9 7 3 359 358 158 1028 1047 460 1156 1162 513 2 2 6 7 12 54 127 427 732 … Continue reading
А710
Дана матрица A размера [latex]m*n[/latex]. Получить транспонированную матрицу A*(ее размер [latex]n*m[/latex]). n m А А* 5 4
1 2 3 4 5 |
7 5 3 2 7 8 9 6 2 3 2 4 9 5 3 0 6 3 7 8 |
1 2 3 4 |
7 7 2 9 6 5 8 3 5 3 3 9 2 3 7 2 6 4 0 8 |
5 6
1 2 3 4 5 |
6 7 8 5 3 4 6 8 9 0 5 3 8 7 9 7 3 2 4 6 5 7 8 5 4 5 6 7 9 3 |
1 2 3 4 5 6 |
6 6 8 4 4 7 8 7 6 5 8 9 9 5 6 5 0 7 7 7 3 5 3 8 9 4 3 2 5 3 |
4 3
1 2 3 4 |
6 7 8 6 8 9 8 7 9 7 8 3 |
1 2 3 |
6 6 8 7 7 8 7 8 8 9 9 3 |
Код программы:
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 |
#include <iostream> using namespace std; int main() { int n, m; cin>>n>>m; int M[n][m]; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { cin >> M[i][j]; } } int M1[m][n]; for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { M1[i][j]=M[j][i]; } } for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { cout<<M1[i][j]<<" "; } cout<<endl; } return 0; } |
Считываем матрицу [latex]n*m[/latex], а затем создаем транспонированную матрицу, в которой строки исходной матрицы являются столбцами и наоборот. Выводим A*. Код программы.
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 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int n, m; n = in.nextInt(); m = in.nextInt(); int [][]M = new int [n][m]; for(int i=0; i<n; i++) { for(int j=0; j<m; j++) { M[i][j] = in.nextInt(); } } int [][]M1 = new int [m][n]; for(int i=0; i<m; i++) { for(int j=0; j<n; j++){ M1[i][j]=M[j][i]; } } for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { System.out.println(M1[i][j]); } System.out.println("\n"); } } } |
Related Images:
A699
A699. Даны квадратные матрицы [latex]A[/latex] и [latex]B[/latex] порядка [latex]n[/latex].Получить матрицу [latex]AB-BA[/latex]. Размер матрицы Матрица А Матрица В Результат 3 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 -60 -90 -120 30 0 -30 120 90 60 2 3 13 21 8 7 9 2 4 -163 -84 73 163 … Continue reading
AA14
Задача. В заданной строке удалить первый символ «.», который найдется в строке. 17.05.2015 1705.2015 .РЛ. РЛ. Удачи, мистер Горски Нет точек
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 |
#include <iostream> #include<string> using namespace std; int main() { string a; getline(cin,a); int k,m; m=0; for(int i=0;i<a.length();i++) { if(a[i]=='.') { k=i; break; } m++; } if(m==a.length()) cout<<"Нет точек"; else { a.erase(k,1); cout<<a; } return 0; } |
Вводим строку. Ищем первое вхождение символа «.», после чего выходим из цикла и удаляем этот символ. И добавляем условие, когда точек нет. Код программы можно посмотреть тут Related Images:
A701a
Задача Даны квадратная матрица [latex]A[/latex] порядка [latex]n[/latex] и вектор [latex]b[/latex] с [latex]n[/latex] элементами. Получить вектор: a) [latex]Ab[/latex]; Размерность матрицы Матрица Вектор Результирующий вектор 2 1 2 3 4 1 2 5 11 3 3 2 6 3 2 1 5 3 8 4 5 7 64 29 91 4 1 2 3 4 5 6 … Continue reading
e-olymp 976. Флойд — существование
По некоторым причинам в статье рассматриваются две близкие задачи. Приведенный программный код содержит все необходимые функции, для решения обеих. Вставляя или убирая комментарии в строках 129, 130 можно выбрать, какую из задач будет решать программа. e-olymp 974. Флойд 1 Полный ориентированный взвешенный граф задан матрицей смежности. Постройте матрицу кратчайших путей между его вершинами. Гарантируется, что … Continue reading
A719a
Симметричные квадратные матрицы [latex]A[/latex] и [latex]B[/latex] порядка [latex]n[/latex] заданы последовательностями из [latex]n\left(n+1 \right)/2[/latex] чисел, аналогично правым треугольным матрицам. Получить матрицу [latex]AB[/latex]. [latex]n[/latex] [latex]A[/latex] [latex]B[/latex] [latex]AB[/latex] 3 0 1 2 0 2 1 0 1 3 0 2 1 7 4 4 6 5 5 5 4 11 2 0 1 0 1 0 1 0 1 1 0 3 … Continue reading
А706 Алгоритм быстрого возведения в степень
Степень Входная матрица Результирующая матрица 2 0 1 2 3 2 3 6 11 3 0 1 2 3 6 11 22 39 Пусть даны квадратная матрица [latex]A[/latex] порядка [latex]m[/latex] и натуральное число [latex]n[/latex]; требуется найти [latex]A^{n}[/latex]. Алгоритм, основанный на непосредственной применении формулы [latex]A^{n} = A*A*A…*A [/latex]([latex]n[/latex] сомножителей), слишком разорителен. Например, [latex]A^{4}[/latex] экономичнее вычислять как … Continue reading
e-olymp 4853. Кратчайший путь
Задан неориентированный граф. Найдите кратчайший путь от вершины a до вершины b. Условие задачи на e-olimp. Cсылка на пройденный тесты. Раз нам надо найти кратчайший путь путь, то будем использовать BFS- поиск в ширину. Мы будем постепенно просматривать вершины, внося в «план» те вершины с которыми они связанны и которые еще не внесены в «план». … Continue reading
А702б
Задача. Дана квадратная матрица порядка n. Получить вектор Ab, где b-вектор, элементы которого вычисляются по формулам: [latex]b_{i}=\begin{cases}\frac{1}{i^{2}+2} & \text{, if i mod 2=0} \\ \frac{1}{i} & \text{, other case } \end{cases}[/latex] i=(1,…,n). Тесты: Вход Выход Комментарий 4 1 2 1 1 1 3 6 9 1 2 1 1 1 6 3 18 1.72222 4 1.72222 … Continue reading
e-olymp 5076. Регулярный граф
Задача 5076: Неориентированный граф называется регулярным, если все его вершины имеют одинаковую степень. Для заданного списком ребер графа проверьте, является ли он регулярным. Входные данные Входной файл содержит числа [latex]n(1 \leq n \leq 100) [/latex] — число вершин в графе и [latex]m(1 \leq m \leq n(n — 1)/2) [/latex] — число ребер. Затем следует [latex]m … Continue reading
AA7
Задача: В заданной строке вставить перед каждым символом «-» символ «+». Решение: В цикле просматриваем строку x, если находим символ «-», то увеличиваем счетчик. Создаем строку длинной старой строки плюс счетчик. Во втором цикле, если символ не равен «-», то записываем его в новую строку, иначе вставляем «+», а после него «-». Код:
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 |
#include <cstdlib> #include <iostream> #include <cstring> using namespace std; int main(){ string s; getline(cin, s, '\n'); int count_plus = 0; for( int i=0 ; i<s.length() ; i++ ){ if(s[i] == '-'){ count_plus++; } } string s2; s2.resize(s.length()+count_plus); for( int i=0,k=0 ; i<s.length() ; i++,k++ ){ if(s[i] != '-'){ s2[k] = s[i]; }else{ s2[k] = '+'; s2[++k] = '-'; } } cout << s2 << endl; } |
Тесты: Строка Результат ef34_ve-ev-++vev)- ef34_ve+-ev+-++vev)+- 3-5=8-10+0 3+-5=8+-10+0 … Continue reading
e-olimp 4650. Граф-Турнир
Граф-турнир. Постановка задачи Построить на n вершинах турнир, расстояние между любой парой вершин в котором не превышает двух рёбер. Алгоритм решения Условию удовлетворяет любая тройка вершин, принадлежащих циклу длины три, следовательно, искомый граф сильно связен. Уместно взять за основу полный неориентированный граф [latex]K_n[/latex] (не ограничивая общности рассуждений, будем представлять граф на плоскости как правильный [latex]n[/latex]-угольник) … Continue reading
e-olimp 5074. Степени вершин по спискам ребер
Задача: Неориентированный граф задан списком ребер. Найдите степени всех вершин графа. Технические условия: Входные данные: Входной файл содержит числа [latex]n[/latex] [latex] (1 \leq n \leq 100) [/latex] — число вершин в графе и [latex]m[/latex] [latex](1 \leq m \leq \frac{n(n-1)}{2})[/latex] — число ребер. Затем следует [latex]m[/latex] пар чисел — ребра графа. Выходные данные: Выведите в выходной файл [latex]n[/latex] чисел … Continue reading
e-olimp 1098. Ходи ферзем!
Задача. На шахматной доске 8х8 произвольным образом расставлено 8 ферзей, по одному на каждой вертикали, других фигур на доске нет. Ферзь может ходить на любое количество клеток как по диагонали, так и по вертикали или горизонтали, но при этом не может перепрыгивать через другие фигуры. Необходимо добиться такой позиции, в которой ни один ферзь не находится … Continue reading
e-olimp 5075
Задача Ориентированный граф задан списком ребер. Найдите степени всех вершин графа. Входные данные. Входной файл содержит числа [latex]n[/latex] [latex]\left(1\leq n\leq 100\right)[/latex] — число вершин в графе и [latex]m[/latex] [latex]\left(1\leq m\leq n*\left(n-1\right)\right)[/latex] — число ребер. Затем следует [latex]m[/latex] пар чисел — ребра графа. Выходные данные. Выведите в выходной файл [latex]n[/latex] пар чисел — для каждой вершины сначала выведите полустепень захода и затем … Continue reading
AA8
Задача Заданы две одинаковые по длине строки. Построить новую строку, в которой на четных местах расположены элементы первой строки, а на нечетных – элементы второй строки. Тесты Ввод Вывод abc 012 a0b1c2 0123 0123 00112233
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> using namespace std; int main() { string s1; cin>>s1; string s2; cin>>s2; string s; for(int i=0;i<s1.length();i++) { s=s+s1[i]+s2[i]; } cout<<s<<endl; return 0; } |
Related Images:
Для отправки комментария необходимо войти на сайт.