2. Между населёнными пунктами А, В, С, D, Е, F построены дороги, протяжённость которых приведена в таблице: A B C D E F Определите длину кратчайшего пути между пунктами А и F. Передвигаться можно только по дорогам, протяжённость которых указана в таблице.
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
double a[n][m];
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
cin >> a[i][j];
int mxi = 0, mxj = 0;
for (int i = 0; i < n; ++i) {
int mnj = 0;
for (int j = 1; j < m; ++j)
if (a[i][j] < a[i][mnj]) mnj = j;
if (a[i][mnj] > a[mxi][mxj]) {
mxi = i;
mxj = mnj;
}
}
cout << (mxi + 1) << " " << (mxj + 1) << endl;
return 0;
}
ТестВвод:
4 5
1 2 3 4 5
0 1 2 3 4
0 0 0 0 -1
16 32 28 17 100
Вывод:4 1
Пояснение:Минимальные элементы в каждой строке: 1(1;1), 0(2;1), -1(3;5), 16(4;1)
Максимальным среди них является число 16, которое имеет координаты 4 1 (1-индексация).
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
int main()
{
srand(time(NULL));
const int n = 20;
std::vector<int> arr(n);
for(int i = 0;i < n;i++)
{
arr[i] = -20 + rand() % 40;
}
for(const int i : arr)
{
std::cout << i << " ";
}
std::cout << std::endl;
std::sort(arr.begin(),arr.end(),[](int a,int b){ return abs(a) > abs(b); });
for(const int i : arr)
{
std::cout << i << " ";
}
}