<?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=2205_-_permrep</id>
	<title>2205 - permrep - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2205_-_permrep"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2205_-_permrep&amp;action=history"/>
	<updated>2026-05-01T16:09:14Z</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=2205_-_permrep&amp;diff=7639&amp;oldid=prev</id>
		<title>Gabii: Pagină nouă: == Enunț == Se consideră un cuvânt &lt;code&gt;C&lt;/code&gt; format din litere mici, nu neapărat distincte.  = Cerința = Să se afișeze în ordine lexicografică toate cuvintele distincte formate cu exact aceleași caractere ca și &lt;code&gt;C&lt;/code&gt;.  = Date de intrare = Fișierul de intrare &lt;code&gt;permrepIN.txt&lt;/code&gt; conține pe prima linie cuvântul &lt;code&gt;C&lt;/code&gt;.  = Date de ieșire = Fișierul de ieșire &lt;code&gt;permrepOUT.txt&lt;/code&gt; va conține pe câte o linie un cuvânt care are...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2205_-_permrep&amp;diff=7639&amp;oldid=prev"/>
		<updated>2023-12-04T17:16:41Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunț == Se consideră un cuvânt &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; format din litere mici, nu neapărat distincte.  = Cerința = Să se afișeze în ordine lexicografică toate cuvintele distincte formate cu exact aceleași caractere ca și &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;.  = Date de intrare = Fișierul de intrare &amp;lt;code&amp;gt;permrepIN.txt&amp;lt;/code&amp;gt; conține pe prima linie cuvântul &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;.  = Date de ieșire = Fișierul de ieșire &amp;lt;code&amp;gt;permrepOUT.txt&amp;lt;/code&amp;gt; va conține pe câte o linie un cuvânt care are...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunț ==&lt;br /&gt;
Se consideră un cuvânt &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; format din litere mici, nu neapărat distincte.&lt;br /&gt;
&lt;br /&gt;
= Cerința =&lt;br /&gt;
Să se afișeze în ordine lexicografică toate cuvintele distincte formate cu exact aceleași caractere ca și &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Fișierul de intrare &amp;lt;code&amp;gt;permrepIN.txt&amp;lt;/code&amp;gt; conține pe prima linie cuvântul &amp;lt;code&amp;gt;C&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;permrepOUT.txt&amp;lt;/code&amp;gt; va conține pe câte o linie un cuvânt care are exact aceleași litere ca și &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt;. În cazul în care restricțiile nu sunt îndeplinite, se va afișa mesajul &amp;quot;Nu corespunde restricțiilor&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* Cuvântul &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; va avea lungimea de cel mult &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Exemplul 1 =&lt;br /&gt;
&amp;lt;code&amp;gt;permrepIN.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 mama&lt;br /&gt;
&amp;lt;code&amp;gt;permrepOUT.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 aamm&lt;br /&gt;
 amam&lt;br /&gt;
 amma&lt;br /&gt;
 maam&lt;br /&gt;
 mama&lt;br /&gt;
 mmaa&lt;br /&gt;
&lt;br /&gt;
= Exemplul 2 =&lt;br /&gt;
&amp;lt;code&amp;gt;permrepIN.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
 Pneumonomie&lt;br /&gt;
consola &lt;br /&gt;
 Nu corespunde restricțiilor&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def genereaza_permutari(cuvant):&lt;br /&gt;
    if len(cuvant) == 0:&lt;br /&gt;
        return [&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
    litera = cuvant[0]&lt;br /&gt;
    permutari_rest = genereaza_permutari(cuvant[1:])&lt;br /&gt;
    rezultat = set()&lt;br /&gt;
&lt;br /&gt;
    for perm in permutari_rest:&lt;br /&gt;
        for i in range(len(perm) + 1):&lt;br /&gt;
            rezultat.add(perm[:i] + litera + perm[i:])&lt;br /&gt;
&lt;br /&gt;
    return list(rezultat)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citire cuvânt din fișierul de intrare&lt;br /&gt;
    with open(&amp;#039;permrepIN.txt&amp;#039;, &amp;#039;r&amp;#039;) as intrare:&lt;br /&gt;
        cuvant = intrare.readline().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verificare lungime cuvânt&lt;br /&gt;
    if len(cuvant) &amp;gt; 9:&lt;br /&gt;
        print(&amp;quot;Nu corespunde restricțiilor&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Generare și sortare lexicografică a permutărilor cuvântului&lt;br /&gt;
    permutari = genereaza_permutari(cuvant)&lt;br /&gt;
    permutari.sort()&lt;br /&gt;
&lt;br /&gt;
    # Scriere în fișierul de ieșire&lt;br /&gt;
    with open(&amp;#039;permrepOUT.txt&amp;#039;, &amp;#039;w&amp;#039;) as iesire:&lt;br /&gt;
        for perm in permutari:&lt;br /&gt;
            iesire.write(perm + &amp;#039;\n&amp;#039;)&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>Gabii</name></author>
	</entry>
</feed>