<?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=3690_-_2genc</id>
	<title>3690 - 2genc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3690_-_2genc"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3690_-_2genc&amp;action=history"/>
	<updated>2026-05-01T22:35:30Z</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=3690_-_2genc&amp;diff=10062&amp;oldid=prev</id>
		<title>Benzar Ioan: Pagină nouă: == Cerința == Se dau n și m numere naturale. Afișați în ordine lexicografică toate șirurile de lungime m care conțin numere de la 1 la n și au urmatoarea proprietate: orice element al unei soluții este mai mare sau egal cu elementul anterior sau este mai mic decât elementul anterior cu 1. == Date de intrare == Fișierul de intrare 2genc.in conține pe prima linie numerele n și m separate prin spațiu. == Date de ieșire == Fișierul de ieșire 2genc.out va conțin...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3690_-_2genc&amp;diff=10062&amp;oldid=prev"/>
		<updated>2024-06-03T19:11:15Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerința == Se dau n și m numere naturale. Afișați în ordine lexicografică toate șirurile de lungime m care conțin numere de la 1 la n și au urmatoarea proprietate: orice element al unei soluții este mai mare sau egal cu elementul anterior sau este mai mic decât elementul anterior cu 1. == Date de intrare == Fișierul de intrare 2genc.in conține pe prima linie numerele n și m separate prin spațiu. == Date de ieșire == Fișierul de ieșire 2genc.out va conțin...&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 dau n și m numere naturale. Afișați în ordine lexicografică toate șirurile de lungime m care conțin numere de la 1 la n și au urmatoarea proprietate: orice element al unei soluții este mai mare sau egal cu elementul anterior sau este mai mic decât elementul anterior cu 1.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare 2genc.in conține pe prima linie numerele n și m separate prin spațiu.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire 2genc.out va conține câte o soluție pe linie. Numerele de pe aceeași linie se separă prin spații.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*1 ≤ n ≤ 6&lt;br /&gt;
*1 ≤ m ≤ 9&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
;Intrare&lt;br /&gt;
4 3&lt;br /&gt;
;Iesire&lt;br /&gt;
1 1 1 &amp;lt;br&amp;gt;&lt;br /&gt;
1 1 2 &amp;lt;br&amp;gt;&lt;br /&gt;
1 1 3 &amp;lt;br&amp;gt;&lt;br /&gt;
1 1 4 &amp;lt;br&amp;gt;&lt;br /&gt;
1 2 1 &amp;lt;br&amp;gt;&lt;br /&gt;
1 2 2 &amp;lt;br&amp;gt;&lt;br /&gt;
1 2 3 &amp;lt;br&amp;gt;&lt;br /&gt;
1 2 4 &amp;lt;br&amp;gt;&lt;br /&gt;
1 3 2 &amp;lt;br&amp;gt;&lt;br /&gt;
1 3 3 &amp;lt;br&amp;gt;&lt;br /&gt;
1 3 4 &amp;lt;br&amp;gt;&lt;br /&gt;
1 4 3 &amp;lt;br&amp;gt;&lt;br /&gt;
1 4 4 &amp;lt;br&amp;gt;&lt;br /&gt;
2 1 1 &amp;lt;br&amp;gt;&lt;br /&gt;
2 1 2 &amp;lt;br&amp;gt;&lt;br /&gt;
2 1 3 &amp;lt;br&amp;gt;&lt;br /&gt;
2 1 4 &amp;lt;br&amp;gt;&lt;br /&gt;
2 2 1 &amp;lt;br&amp;gt;&lt;br /&gt;
2 2 2 &amp;lt;br&amp;gt;&lt;br /&gt;
2 2 3 &amp;lt;br&amp;gt;&lt;br /&gt;
2 2 4 &amp;lt;br&amp;gt;&lt;br /&gt;
2 3 2 &amp;lt;br&amp;gt;&lt;br /&gt;
2 3 3 &amp;lt;br&amp;gt;&lt;br /&gt;
2 3 4 &amp;lt;br&amp;gt;&lt;br /&gt;
2 4 3 &amp;lt;br&amp;gt;&lt;br /&gt;
2 4 4 &amp;lt;br&amp;gt;&lt;br /&gt;
3 2 1 &amp;lt;br&amp;gt;&lt;br /&gt;
3 2 2 &amp;lt;br&amp;gt;&lt;br /&gt;
3 2 3 &amp;lt;br&amp;gt;&lt;br /&gt;
3 2 4 &amp;lt;br&amp;gt;&lt;br /&gt;
3 3 2 &amp;lt;br&amp;gt;&lt;br /&gt;
3 3 3 &amp;lt;br&amp;gt;&lt;br /&gt;
3 3 4 &amp;lt;br&amp;gt;&lt;br /&gt;
3 4 3 &amp;lt;br&amp;gt;&lt;br /&gt;
3 4 4 &amp;lt;br&amp;gt;&lt;br /&gt;
4 3 2 &amp;lt;br&amp;gt;&lt;br /&gt;
4 3 3 &amp;lt;br&amp;gt;&lt;br /&gt;
4 3 4 &amp;lt;br&amp;gt;&lt;br /&gt;
4 4 3 &amp;lt;br&amp;gt;&lt;br /&gt;
4 4 4 &lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def read_input():&lt;br /&gt;
    with open(&amp;quot;2genc.in&amp;quot;, &amp;quot;r&amp;quot;) as file:&lt;br /&gt;
        n, m = map(int, file.readline().strip().split())&lt;br /&gt;
    return n, m&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def write_output(results):&lt;br /&gt;
    with open(&amp;quot;2genc.out&amp;quot;, &amp;quot;w&amp;quot;) as file:&lt;br /&gt;
        for result in results:&lt;br /&gt;
            file.write(&amp;quot; &amp;quot;.join(map(str, result)) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def generate_sequences(n, m):&lt;br /&gt;
    results = []&lt;br /&gt;
&lt;br /&gt;
    def backtrack(sequence):&lt;br /&gt;
        if len(sequence) == m:&lt;br /&gt;
            results.append(sequence[:])&lt;br /&gt;
            return&lt;br /&gt;
        last = sequence[-1] if sequence else 0&lt;br /&gt;
        for i in range(1, n + 1):&lt;br /&gt;
            if not sequence or i &amp;gt;= last or i == last - 1:&lt;br /&gt;
                sequence.append(i)&lt;br /&gt;
                backtrack(sequence)&lt;br /&gt;
                sequence.pop()&lt;br /&gt;
&lt;br /&gt;
    backtrack([])&lt;br /&gt;
    return results&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    n, m = read_input()&lt;br /&gt;
&lt;br /&gt;
    # Validări&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 6):&lt;br /&gt;
        raise ValueError(&amp;quot;n trebuie să fie între 1 și 6&amp;quot;)&lt;br /&gt;
    if not (1 &amp;lt;= m &amp;lt;= 9):&lt;br /&gt;
        raise ValueError(&amp;quot;m trebuie să fie între 1 și 9&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    results = generate_sequences(n, m)&lt;br /&gt;
    write_output(results)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benzar Ioan</name></author>
	</entry>
</feed>