<?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=3389_-_Colturi_DR</id>
	<title>3389 - Colturi DR - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3389_-_Colturi_DR"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3389_-_Colturi_DR&amp;action=history"/>
	<updated>2026-05-01T04:37:11Z</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=3389_-_Colturi_DR&amp;diff=5392&amp;oldid=prev</id>
		<title>AndorGiulia at 11:20, 29 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3389_-_Colturi_DR&amp;diff=5392&amp;oldid=prev"/>
		<updated>2023-04-29T11:20:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:20, 29 April 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sursă: [pbinfo.ro/probleme/3389/colturi-dr]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sursă: [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://www.&lt;/ins&gt;pbinfo.ro/probleme/3389/colturi-dr]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Cerință ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Cerință ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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;m&amp;#039;&amp;#039;&amp;#039; coloane cu valori de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;. Numim &amp;#039;&amp;#039;&amp;#039;dreptunghi de extrem&amp;#039;&amp;#039;&amp;#039; un dreptunghi ale cărui vârfuri au valori egale. Determinați numărul acestor dreptunghiuri, aria dreptunghiului de arie maximă și câte dreptunghiuri au aceeași valoare a vârfurilor ca și dreptunghiul de arie maximă.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&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;m&amp;#039;&amp;#039;&amp;#039; coloane cu valori de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;. Numim &amp;#039;&amp;#039;&amp;#039;dreptunghi de extrem&amp;#039;&amp;#039;&amp;#039; un dreptunghi ale cărui vârfuri au valori egale. Determinați numărul acestor dreptunghiuri, aria dreptunghiului de arie maximă și câte dreptunghiuri au aceeași valoare a vârfurilor ca și dreptunghiul de arie maximă.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AndorGiulia</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3389_-_Colturi_DR&amp;diff=5391&amp;oldid=prev</id>
		<title>AndorGiulia: Pagină nouă: Sursă: [pbinfo.ro/probleme/3389/colturi-dr] == Cerință == Se dă o matrice cu &#039;&#039;&#039;n&#039;&#039;&#039; linii și &#039;&#039;&#039;m&#039;&#039;&#039; coloane cu valori de &#039;&#039;&#039;0&#039;&#039;&#039; și &#039;&#039;&#039;1&#039;&#039;&#039;. Numim &#039;&#039;&#039;dreptunghi de extrem&#039;&#039;&#039; un dreptunghi ale cărui vârfuri au valori egale. Determinați numărul acestor dreptunghiuri, aria dreptunghiului de arie maximă și câte dreptunghiuri au aceeași valoare a vârfurilor ca și dreptunghiul de arie maximă. == Date de intrare == Fișierul de intrare &#039;&#039;&#039;colturi_dr.in&#039;&#039;&#039; conține...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3389_-_Colturi_DR&amp;diff=5391&amp;oldid=prev"/>
		<updated>2023-04-29T11:20:11Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursă: [pbinfo.ro/probleme/3389/colturi-dr] == Cerință == 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;m&amp;#039;&amp;#039;&amp;#039; coloane cu valori de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;. Numim &amp;#039;&amp;#039;&amp;#039;dreptunghi de extrem&amp;#039;&amp;#039;&amp;#039; un dreptunghi ale cărui vârfuri au valori egale. Determinați numărul acestor dreptunghiuri, aria dreptunghiului de arie maximă și câte dreptunghiuri au aceeași valoare a vârfurilor ca și dreptunghiul de arie maximă. == Date de intrare == Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;colturi_dr.in&amp;#039;&amp;#039;&amp;#039; conține...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sursă: [pbinfo.ro/probleme/3389/colturi-dr]&lt;br /&gt;
== Cerință ==&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;m&amp;#039;&amp;#039;&amp;#039; coloane cu valori de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;. Numim &amp;#039;&amp;#039;&amp;#039;dreptunghi de extrem&amp;#039;&amp;#039;&amp;#039; un dreptunghi ale cărui vârfuri au valori egale. Determinați numărul acestor dreptunghiuri, aria dreptunghiului de arie maximă și câte dreptunghiuri au aceeași valoare a vârfurilor ca și dreptunghiul de arie maximă.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;colturi_dr.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; de linii, numărul &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; de coloane, iar pe următoarele linii se află cele &amp;#039;&amp;#039;&amp;#039;n * m&amp;#039;&amp;#039;&amp;#039; numere naturale.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele sunt corecte.&amp;quot;. Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;colturi_dr.out&amp;#039;&amp;#039;&amp;#039; va conține pe prima linie numerele &amp;#039;&amp;#039;&amp;#039;nr, A si cnt&amp;#039;&amp;#039;&amp;#039; reprezentând cele trei numere specificate în cerință. În caz contrar, se va afișa pe ecran: &amp;quot;Datele nu sunt comform restricțiilor impuse.&amp;quot;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 ≤ n, m ≤ 100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* numărul de dreptunghiuri de extrem cu vârfuri de &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; este diferit de numărul de dreptunghiuri de extrem cu vârfuri de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* un &amp;#039;&amp;#039;&amp;#039;dreptunghi de extrem&amp;#039;&amp;#039;&amp;#039; are cel puțin două linii și două coloane&lt;br /&gt;
== Exemple ==&lt;br /&gt;
=== Exemplu 1 ===&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;colturi_dr.in&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: 5 5&lt;br /&gt;
: 1  1  1  1  0&lt;br /&gt;
: 0  1  1  0  1&lt;br /&gt;
: 0  1  0  0  1&lt;br /&gt;
: 1  0  1  0  1&lt;br /&gt;
; &amp;#039;&amp;#039;&amp;#039;colturi_dr.out&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: 11 25 9&lt;br /&gt;
==== Explicatie ====&lt;br /&gt;
Sunt &amp;#039;&amp;#039;&amp;#039;9&amp;#039;&amp;#039;&amp;#039; dreptunghiuri de extrem a cărui vârfuri sunt &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039;, respectiv &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; ale cărui vârfuri sunt &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;. Dreptunghiul de extrem de arie maximă are colțul stânga sus la &amp;#039;&amp;#039;&amp;#039;(0,0)&amp;#039;&amp;#039;&amp;#039; și colțul dreapta jos la &amp;#039;&amp;#039;&amp;#039;(5,5)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def citire_matrice():&lt;br /&gt;
    # Deschide fișierul de intrare și citește n, m și p&lt;br /&gt;
    with open(&amp;quot;colturi_dr.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        line = fin.readline().split()&lt;br /&gt;
        if len(line) != 2:&lt;br /&gt;
            print(&amp;quot;Datele nu sunt conform restrictiilor impuse.&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
        n, m = map(int, line)&lt;br /&gt;
        if not (1 &amp;lt;= n &amp;lt;= 100 and 1 &amp;lt;= m &amp;lt;= 100):&lt;br /&gt;
            print(&amp;quot;Datele nu sunt conform restrictiilor impuse.&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
        matrice = []&lt;br /&gt;
        # Citește matricea din fișierul de intrare&lt;br /&gt;
        for i in range(n):&lt;br /&gt;
            row = list(map(int, fin.readline().split()))&lt;br /&gt;
            # Verifică dacă elementele matricei sunt conform cerințelor&lt;br /&gt;
            if not all(x in [0, 1] for x in row):&lt;br /&gt;
                print(&amp;quot;Datele nu sunt conform restrictiilor impuse.&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
            matrice.append(row)&lt;br /&gt;
        return n, m, matrice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def colturi_dr(n, m, matrice):&lt;br /&gt;
    nr = 0  # Numărul dreptunghiurilor de extrem&lt;br /&gt;
    max_area = 0  # Aria maximă a dreptunghiului de extrem&lt;br /&gt;
    max_cnt = 0  # Numărul dreptunghiurilor cu aceeași arie maximă&lt;br /&gt;
    for i in range(n - 1):&lt;br /&gt;
        for j in range(m - 1):&lt;br /&gt;
            if matrice[i][j] == matrice[i][j + 1] == matrice[i + 1][j] == matrice[i + 1][j + 1]:&lt;br /&gt;
                nr += 1&lt;br /&gt;
                area = (i + 2) * (j + 2)&lt;br /&gt;
                if area &amp;gt; max_area:&lt;br /&gt;
                    max_area = area&lt;br /&gt;
                    max_cnt = 1&lt;br /&gt;
                elif area == max_area:&lt;br /&gt;
                    max_cnt += 1&lt;br /&gt;
    return nr, max_area, max_cnt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if _name_ == &amp;quot;_main_&amp;quot;:&lt;br /&gt;
    n, m, matrice = citire_matrice()&lt;br /&gt;
    nr, max_area, cnt = colturi_dr(n, m, matrice)&lt;br /&gt;
    with open(&amp;quot;colturi_dr.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
        fout.write(str(nr) + &amp;quot; &amp;quot; + str(max_area) + &amp;quot; &amp;quot; + str(cnt) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Numărul de dreptunghiuri de extrem este:&amp;quot;, nr)&lt;br /&gt;
    print(&amp;quot;Aria maximă a unui dreptunghi de extrem este:&amp;quot;, max_area)&lt;br /&gt;
    print(&amp;quot;Numărul de dreptunghiuri cu aceeași arie maximă este:&amp;quot;, cnt)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Explicatie ==&lt;br /&gt;
 Acest cod implementează o funcție numită citire_matrice() care citește datele de intrare dintr-un fișier colturi_dr.in. Datele de intrare conțin trei valori: n și m, reprezentând dimensiunile unei matrici de dimensiune nxm, și o matrice binară cu n linii și m coloane. Matricea este formată din 0-uri și 1-uri, și reprezintă un tip special de matrice numit &amp;quot;matrice de extrem&amp;quot; (dreptunghiurile de extrem), care conține doar dreptunghiuri cu colțurile de aceeași valoare.&lt;br /&gt;
&lt;br /&gt;
 Funcția citire_matrice() validează datele de intrare și returnează o tuplă formată din n, m și matricea citită.&lt;br /&gt;
&lt;br /&gt;
 Funcția colturi_dr() primește dimensiunile matricei și matricea în sine și calculează numărul de dreptunghiuri de extrem, aria maximă a unui dreptunghi de extrem și numărul de dreptunghiuri cu aceeași arie maximă.&lt;br /&gt;
&lt;br /&gt;
 În final, programul scrie datele de ieșire în fișierul colturi_dr.out și le afișează pe ecran.&lt;/div&gt;</summary>
		<author><name>AndorGiulia</name></author>
	</entry>
</feed>