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) No edit summary |
||
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_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. | 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ă. | 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 | 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> | |||
Revision as of 14:10, 5 January 2024
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>