3263 - Sum Max XI: Difference between revisions
Andrada378 (talk | contribs) No edit summary |
Andrada378 (talk | contribs) |
||
Line 3: | Line 3: | ||
== Date de intrare == | == Date de intrare == | ||
Fişierul 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 == | == Date de ieşire == | ||
Fişierul 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 == | == Restricţii şi precizări == |
Latest revision as of 14:11, 5 January 2024
Cerinţa[edit | edit source]
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[edit | edit source]
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[edit | edit source]
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[edit | edit source]
- 1 ≤ n ≤ 100
- elementele matricei vor avea cel mult 4 cifre
Exemplu:[edit | edit source]
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[edit | edit source]
62=16+14+17+15.
Rezolvare[edit | edit source]
<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>