3263 - Sum Max XI: Difference between revisions

From Bitnami MediaWiki
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:
<u>''Cerinţa''</u>
== 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.


<u>''Date de intrare''</u>
== 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 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 de ieşire summax_xi.out va conţine pe prima linie numărul S, reprezentând suma maximă determinată.
 
<u>''Restricţii şi precizări''</u>


1 ≤ n ≤ 100
== 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ă.


elementele matricei vor avea cel mult 4 cifre
== Restricţii şi precizări ==


<u>''Exemplu:''</u>
* 1 ≤ n ≤ 100
* elementele matricei vor avea cel mult 4 cifre


summax_xi.in
== Exemplu: ==
'''summax_xiin.txt'''


4
4
Line 31: Line 26:
10 9 13 15
10 9 13 15


summax_xi.out
'''summax_xiout.txt'''


62
62


<u>''Explicație''</u>
== Explicație ==
 
62=16+14+17+15.
62=16+14+17+15.


<u>''Rezolvare''</u>
== Rezolvare ==
 
<syntaxhighlight lang="python">
<nowiki>#</nowiki> Citirea datelor de intrare
# 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.")


    n = int(file.readline().strip())  # Se citește dimensiunea matricei (n)
    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.")


    matrix = [list(map(int, file.readline().split())) for _ in range(n)]  # Se citesc elementele matricei
# Determinarea sumei maxime


<nowiki>#</nowiki> 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


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
 
<nowiki>#</nowiki> 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")
    file_out.write(str(max_sum) + "\n")
</syntaxhighlight>
 
In fisierul "summax_xiin.txt" am adaugat input ul, in "summax_xiout.txt" am obtinut rezultatul 62.

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">

  1. 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.")
  1. 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

  1. 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>