3263 - Sum Max XI
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_xi.in 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_xi.out 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
<syntaxhighlight lang="python">
- 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")
</syntaxhighlight>