<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0784_-_Lin_Col_Egale</id>
	<title>0784 - Lin Col Egale - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0784_-_Lin_Col_Egale"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0784_-_Lin_Col_Egale&amp;action=history"/>
	<updated>2026-05-01T03:49:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0784_-_Lin_Col_Egale&amp;diff=4442&amp;oldid=prev</id>
		<title>Alexandra Leș: Pagină nouă: == Cerinţa == Se dă o matrice cu &#039;&#039;&#039;n&#039;&#039;&#039; linii şi &#039;&#039;&#039;n&#039;&#039;&#039; coloane şi elemente numere naturale. Să se determine câte elemente ale matricei se află pe linii și coloane de sumă egală. Elementul &#039;&#039;&#039;a[i,j]&#039;&#039;&#039; va fi numărat dacă suma elementelor de pe linia &#039;&#039;&#039;i&#039;&#039;&#039; este egală cu cea de pe coloana &#039;&#039;&#039;j&#039;&#039;&#039;. == Date de intrare == Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n*n&#039;&#039;&#039; numere naturale, separate prin spaţii, reprezentând elementele matric...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0784_-_Lin_Col_Egale&amp;diff=4442&amp;oldid=prev"/>
		<updated>2023-04-25T12:23:10Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dă o matrice cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii şi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; coloane şi elemente numere naturale. Să se determine câte elemente ale matricei se află pe linii și coloane de sumă egală. Elementul &amp;#039;&amp;#039;&amp;#039;a[i,j]&amp;#039;&amp;#039;&amp;#039; va fi numărat dacă suma elementelor de pe linia &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; este egală cu cea de pe coloana &amp;#039;&amp;#039;&amp;#039;j&amp;#039;&amp;#039;&amp;#039;. == Date de intrare == Programul citește de la tastatură numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar apoi &amp;#039;&amp;#039;&amp;#039;n*n&amp;#039;&amp;#039;&amp;#039; numere naturale, separate prin spaţii, reprezentând elementele matric...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă o matrice cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii şi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; coloane şi elemente numere naturale. Să se determine câte elemente ale matricei se află pe linii și coloane de sumă egală. Elementul &amp;#039;&amp;#039;&amp;#039;a[i,j]&amp;#039;&amp;#039;&amp;#039; va fi numărat dacă suma elementelor de pe linia &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; este egală cu cea de pe coloana &amp;#039;&amp;#039;&amp;#039;j&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar apoi &amp;#039;&amp;#039;&amp;#039;n*n&amp;#039;&amp;#039;&amp;#039; numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Dacă datele sunt introduse corect,pe ecran se va afișa :&amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele sunt introduse corect.&amp;quot;&amp;#039;&amp;#039;&amp;#039;,apoi pe un rând nou numărul &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;, reprezentând valoarea calculată.În cazul contrar,se va afișa pe ecran &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; n &amp;amp;les; 100&lt;br /&gt;
* elementele matricei vor fi mai mici decât 1.000.000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Date de intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 3 1 8 5 4 &lt;br /&gt;
: 7 8 5 1 2 &lt;br /&gt;
: 2 2 6 7 3 &lt;br /&gt;
: 9 8 1 3 6 &lt;br /&gt;
: 7 5 3 1 7  &lt;br /&gt;
; Date de ieșire&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
: 2&lt;br /&gt;
== Explicație == &lt;br /&gt;
Cele două elemente se află pe linia &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039;, coloana &amp;#039;&amp;#039;&amp;#039;3&amp;#039;&amp;#039;&amp;#039;, respectiv linia &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039;, coloana &amp;#039;&amp;#039;&amp;#039;3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
from typing import List&lt;br /&gt;
def validare_date(n: int, matrice: List[List[int]]) -&amp;gt; bool:&lt;br /&gt;
    # Verifică dacă n are valoarea potrivită&lt;br /&gt;
    if n &amp;lt; 1 or n &amp;gt; 100:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă matricea are dimensiunea potrivită&lt;br /&gt;
    if len(matrice) != n:&lt;br /&gt;
        return False&lt;br /&gt;
    for linie in matrice:&lt;br /&gt;
        if len(linie) != n:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă toate elementele matricei sunt numere naturale mai mici decât 1000&lt;br /&gt;
    for linie in matrice:&lt;br /&gt;
        for elem in linie:&lt;br /&gt;
            if not (isinstance(elem, int) and 0 &amp;lt;= elem &amp;lt; 1000):&lt;br /&gt;
                return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def determina_nr_elemente(n: int, matrice: List[List[int]]) -&amp;gt; int:&lt;br /&gt;
    # Inițializăm două liste goale, V si H, pentru a calcula sumele elementelor de pe fiecare linie și coloană&lt;br /&gt;
    V = [0] * (n + 1)&lt;br /&gt;
    H = [0] * (n + 1)&lt;br /&gt;
&lt;br /&gt;
    # Parcurgem matricea și adunăm elementele de pe fiecare linie și coloana în listele V si H&lt;br /&gt;
    for i in range(1, n + 1):&lt;br /&gt;
        for j in range(1, n + 1):&lt;br /&gt;
            V[i] += matrice[i - 1][j - 1]&lt;br /&gt;
            H[j] += matrice[i - 1][j - 1]&lt;br /&gt;
&lt;br /&gt;
    # Initializam numar_elemente_egale cu 0, pentru a numara elementele care se află pe o linie și o coloană al caror sume sunt egale&lt;br /&gt;
    numar_elemente_egale = 0&lt;br /&gt;
&lt;br /&gt;
    # Parcurgem din nou matricea ăi numărăm elementele care se află pe o linie și o coloană al caror sume sunt egale&lt;br /&gt;
    for i in range(1, n + 1):&lt;br /&gt;
        for j in range(1, n + 1):&lt;br /&gt;
            if V[i] == H[j]:&lt;br /&gt;
                numar_elemente_egale += 1&lt;br /&gt;
&lt;br /&gt;
    # Returnăm numarul de elemente care se află pe o linie și o coloană al căror sume sunt egale&lt;br /&gt;
    return numar_elemente_egale&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citire date de intrare&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    matrice = []&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        linie = [int(elem) for elem in input().split()]&lt;br /&gt;
        matrice.append(linie)&lt;br /&gt;
&lt;br /&gt;
    # Validare date de intrare&lt;br /&gt;
    if validare_date(n, matrice):&lt;br /&gt;
        # Calculare și afișare rezultat&lt;br /&gt;
        C = determina_nr_elemente(n, matrice)&lt;br /&gt;
        print(&amp;quot;\nDatele sunt introduse corect.\n&amp;quot;)&lt;br /&gt;
        print(C)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele nu corespund restrictiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alexandra Leș</name></author>
	</entry>
</feed>