У кожному рядку масиву знайдемо його максимальний елемент. Нехай містить максимальний елемент -ого рядка. Потім знайдемо мінімальний елемент у масиві .
Приклад
Розглянемо наведений приклад. Поруч з кожним рядком запишемо його найбільший елемент. Найменший серед цих найбільших елементів виділимо.
Реалізація алгоритму
Оголосимо робочі масиви.
int a[101][101], res[101];Читаємо розміри масиву і .
scanf("%d %d", &n, &m);Оскільки буде зберігати максимальний елемент -ого рядка (1 \le i \le n), ініціалізуємо його найменшим можливим значенням.
for (j = 1; j <= n; j++)
res[j] = -101;Перебираємо рядки матриці.
for (i = 1; i <= n; i++)Читаємо елементи -ого рядка і знаходимо його максимальне значення, яке зберігаємо у .
for (j = 1; j <= m; j++)
{
scanf("%d", &a[i][j]);
if (a[i][j] > res[i]) res[i] = a[i][j];
}Знаходимо найменший елемент у масиві .
mn = 101;
for (i = 1; i <= n; i++)
if (res[i] < mn) mn = res[i];Виводимо відповідь.
printf("%d\n", mn);Python реалізація
Читаємо розміри масиву і .
n, m = map(int, input().split())Ініціалізуємо список .
res = []Перебираємо рядки матриці.
for i in range(n):Читаємо елементи поточного рядка матриці і знаходимо його максимальне значення, яке додаємо в кінець списку .
row = list(map(int, input().split()))
res.append(max(row))Знаходимо найменший елемент у масиві і виводимо його.
ans = min(res)
print(ans)