3263 - Sum Max XI: Difference between revisions
Andrada378 (talk | contribs) Pagină nouă: <u>''Cerinţa''</u> 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. <u>''Date de intrare''</u> 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. <u>''Date de ieşire''</u> Fişierul... |
Andrada378 (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== 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. | 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. | |||
Fişierul de intrare | |||
== 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 | 4 | ||
Line 31: | Line 26: | ||
10 9 13 15 | 10 9 13 15 | ||
'''summax_xiout.txt''' | |||
62 | 62 | ||
== Explicație == | |||
62=16+14+17+15. | 62=16+14+17+15. | ||
== Rezolvare == | |||
<syntaxhighlight lang="python"> | |||
# Citirea datelor de intrare | |||
with open("summax_xiin.txt", "r") as file: | 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: | with open("summax_xiout.txt", "w") as file_out: | ||
file_out.write(str(max_sum) + "\n") | |||
</syntaxhighlight> | |||
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>