<?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=1031_-_Culori2</id>
	<title>1031 - Culori2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1031_-_Culori2"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1031_-_Culori2&amp;action=history"/>
	<updated>2026-05-01T07:47: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=1031_-_Culori2&amp;diff=8590&amp;oldid=prev</id>
		<title>Ramona Dragoș: /* Exemplu 2: */</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1031_-_Culori2&amp;diff=8590&amp;oldid=prev"/>
		<updated>2023-12-27T20:31:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exemplu 2:&lt;/span&gt;&lt;/span&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 20:31, 27 December 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-l37&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&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;&amp;lt;code&amp;gt;culori2out.txt&amp;lt;/code&amp;gt;&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;&amp;lt;code&amp;gt;culori2out.txt&amp;lt;/code&amp;gt;&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;  Datele de intrare nu au fost respectate.&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;  Datele de intrare nu au fost respectate.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Rezolvare ==&lt;/ins&gt;&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;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&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;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&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;def numar_moduri_vopsire_gard(N):&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;def numar_moduri_vopsire_gard(N):&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ramona Dragoș</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1031_-_Culori2&amp;diff=8588&amp;oldid=prev</id>
		<title>Ramona Dragoș: #1031 - Culori2</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1031_-_Culori2&amp;diff=8588&amp;oldid=prev"/>
		<updated>2023-12-27T20:30:30Z</updated>

		<summary type="html">&lt;p&gt;#1031 - Culori2&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
Pasiunea Mirunei este să coloreze. Vacanţa trecută şi-a petrecut-o la bunica ei la ţară şi pentru că se cam plictisea s-a gândit să vopsească gardul de la casa bunicii.&lt;br /&gt;
&lt;br /&gt;
Gardul este compus din &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; scânduri dispuse una lângă alta. Miruna a găsit în garajul bunicii &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; cutii de vopsea de culori diferite: albă, albastră, roşie, verde şi galbenă. Când a vopsit gardul, Miruna a respectat următoarele reguli:&lt;br /&gt;
&lt;br /&gt;
# Dacă o scândură era vopsită cu alb, următoarea scândură o vopsea obligatoriu cu albastru&lt;br /&gt;
# Dacă o scândură era vopsită cu albastru, atunci următoarea scândură o vopsea cu alb sau roşu&lt;br /&gt;
# Dacă o scândură era vopsită cu roşu, atunci următoarea scândură o vopsea cu albastru sau verde&lt;br /&gt;
# Dacă o scândură era vopsită cu verde, atunci următoarea scândură o vopsea cu roșu sau galben&lt;br /&gt;
# Dacă o scândură era vopsită cu galben, atunci următoarea scândură o vopsea obligatoriu cu verde&lt;br /&gt;
&lt;br /&gt;
După ce a și-a terminat treaba Miruna își admira “opera de artă” și se întreba în câte moduri diferite ar fi putut să vopsească gardul bunicii.&lt;br /&gt;
&lt;br /&gt;
= Cerința =&lt;br /&gt;
Ajutați-o pe Miruna să găsească răspunsul la întrebarea sa.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Fișierul de intrare &amp;lt;code&amp;gt;culori2in.txt&amp;lt;/code&amp;gt; conține pe prima sa linie un singur număr natural &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;1 ≤ N ≤ 5000&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
Fișierul de ieșire &amp;lt;code&amp;gt;culori2out.txt&amp;lt;/code&amp;gt; va conţine pe prima sa linie un singur număr întreg reprezentând numărul de moduri diferite în care Miruna ar fi putut să vopsească gardul bunicii.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ N ≤ 5000&amp;lt;/code&amp;gt;&lt;br /&gt;
* Pentru &amp;lt;code&amp;gt;25%&amp;lt;/code&amp;gt; dintre teste &amp;lt;code&amp;gt;N≤45&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Exemplu 1: =&lt;br /&gt;
&amp;lt;code&amp;gt;culori2in.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 4&lt;br /&gt;
&amp;lt;code&amp;gt;culori2out.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 24&lt;br /&gt;
&lt;br /&gt;
= Exemplu 2: =&lt;br /&gt;
&amp;lt;code&amp;gt;culori2in.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 0&lt;br /&gt;
&amp;lt;code&amp;gt;culori2out.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 Datele de intrare nu au fost respectate.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def numar_moduri_vopsire_gard(N):&lt;br /&gt;
    # Inițializăm un dicționar pentru a stoca numărul de moduri posibile&lt;br /&gt;
    # pentru fiecare culoare și fiecare poziție&lt;br /&gt;
    moduri = {&lt;br /&gt;
        &amp;#039;alb&amp;#039;: [0] * (N + 1),&lt;br /&gt;
        &amp;#039;albastru&amp;#039;: [0] * (N + 1),&lt;br /&gt;
        &amp;#039;rosu&amp;#039;: [0] * (N + 1),&lt;br /&gt;
        &amp;#039;verde&amp;#039;: [0] * (N + 1),&lt;br /&gt;
        &amp;#039;galben&amp;#039;: [0] * (N + 1)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    # Pentru prima scândură, fiecare culoare este o opțiune validă&lt;br /&gt;
    for culoare in moduri.keys():&lt;br /&gt;
        moduri[culoare][1] = 1&lt;br /&gt;
&lt;br /&gt;
    # Calculăm numărul de moduri pentru fiecare poziție și culoare&lt;br /&gt;
    for i in range(2, N + 1):&lt;br /&gt;
        moduri[&amp;#039;alb&amp;#039;][i] = moduri[&amp;#039;albastru&amp;#039;][i - 1]&lt;br /&gt;
        moduri[&amp;#039;albastru&amp;#039;][i] = moduri[&amp;#039;alb&amp;#039;][i - 1] + moduri[&amp;#039;rosu&amp;#039;][i - 1]&lt;br /&gt;
        moduri[&amp;#039;rosu&amp;#039;][i] = moduri[&amp;#039;albastru&amp;#039;][i - 1] + moduri[&amp;#039;verde&amp;#039;][i - 1]&lt;br /&gt;
        moduri[&amp;#039;verde&amp;#039;][i] = moduri[&amp;#039;rosu&amp;#039;][i - 1] + moduri[&amp;#039;galben&amp;#039;][i - 1]&lt;br /&gt;
        moduri[&amp;#039;galben&amp;#039;][i] = moduri[&amp;#039;verde&amp;#039;][i - 1]&lt;br /&gt;
&lt;br /&gt;
    # Sumăm modurile pentru toate culorile pentru a obține rezultatul final&lt;br /&gt;
    rezultat = sum(moduri[culoare][N] for culoare in moduri.keys())&lt;br /&gt;
    return rezultat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        with open(&amp;quot;culori2in.txt&amp;quot;, &amp;quot;r&amp;quot;) as file_in:&lt;br /&gt;
            N = int(file_in.readline().strip())&lt;br /&gt;
&lt;br /&gt;
            if 1 &amp;lt;= N &amp;lt;= 5000:&lt;br /&gt;
                rezultat = numar_moduri_vopsire_gard(N)&lt;br /&gt;
&lt;br /&gt;
                with open(&amp;quot;culori2out.txt&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
                    file_out.write(str(rezultat))&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele de intrare nu au fost respectate.&amp;quot;)&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Nu au fost respectate cerințele impuse: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ramona Dragoș</name></author>
	</entry>
</feed>