3263 - Sum Max XI

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerinţa

Se dă o matrice pătratică cu n lini şi n coloane şi elemente numere întregi. Determinaţi cea mai mare sumă a n elemente din matrice, obținută adunând câte un element de pe fiecare linie a matricei.

Date de intrare

Fişierul de intrare summax_xiin.txt conţine pe prima linie numărul n, iar pe următoarele n linii câte n numere întregi, separate prin spaţii, reprezentând elementele matricei.

Date de ieşire

Fişierul de ieşire summax_xiout.txt va conţine pe prima linie numărul S, reprezentând suma maximă determinată.

Restricţii şi precizări

  • 1 ≤ n ≤ 100
  • elementele matricei vor avea cel mult 4 cifre

Exemplu:

summax_xiin.txt

4

12 16 5 4

11 14 6 7

8 2 3 17

10 9 13 15

summax_xiout.txt

62

Explicație

62=16+14+17+15.

Rezolvare

# Citirea datelor de intrare

with open("summax_xiin.txt", "r") as file:
    # Validare pentru dimensiunea matricei (n)
    n = int(file.readline().strip())
    if not 1 <= n <= 100:
        raise ValueError("Dimensiunea matricei trebuie să fie între 1 și 100 inclusiv.")

    matrix = [list(map(int, file.readline().split())) for _ in range(n)]  # Se citesc elementele matricei
    # Validare pentru elementele matricei
    for row in matrix:
        if any(not (0 <= element <= 9999) for element in row):
            raise ValueError("Elementele matricei trebuie să fie între 0 și 9999 inclusiv.")

# Determinarea sumei maxime

max_sum = sum(max(matrix[i]) for i in range(n))  # Se calculează suma maximă a celor mai mari elemente de pe fiecare linie

# Scrierea rezultatului în fișierul de ieșire

with open("summax_xiout.txt", "w") as file_out:
    file_out.write(str(max_sum) + "\n")