<?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=1612_-_Cifre10</id>
	<title>1612 - Cifre10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1612_-_Cifre10"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1612_-_Cifre10&amp;action=history"/>
	<updated>2026-05-01T04:46:25Z</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=1612_-_Cifre10&amp;diff=9034&amp;oldid=prev</id>
		<title>Miawinator: Pagină nouă: Elevii clasei pregătitoare se joacă la matematică cu numere. Învățătoarea are un săculeț plin cu jetoane, pe fiecare dintre ele fiind scrisă câte o cifră. Fiecare elev și-a ales din săculeț mai multe jetoane, cu care și-a format un număr. Pentru ca totul să fie mai interesant, elevii s-au grupat în perechi. Doamna învățătoare a oferit fiecărei perechi de elevi câte o cutiuță pentru ca cei doi să își pună împreună jetoanele. De exemplu, dacă u...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1612_-_Cifre10&amp;diff=9034&amp;oldid=prev"/>
		<updated>2024-01-04T22:33:20Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Elevii clasei pregătitoare se joacă la matematică cu numere. Învățătoarea are un săculeț plin cu jetoane, pe fiecare dintre ele fiind scrisă câte o cifră. Fiecare elev și-a ales din săculeț mai multe jetoane, cu care și-a format un număr. Pentru ca totul să fie mai interesant, elevii s-au grupat în perechi. Doamna învățătoare a oferit fiecărei perechi de elevi câte o cutiuță pentru ca cei doi să își pună împreună jetoanele. De exemplu, dacă u...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Elevii clasei pregătitoare se joacă la matematică cu numere. Învățătoarea are un săculeț plin cu jetoane, pe fiecare dintre ele fiind scrisă câte o cifră. Fiecare elev și-a ales din săculeț mai multe jetoane, cu care și-a format un număr. Pentru ca totul să fie mai interesant, elevii s-au grupat în perechi. Doamna învățătoare a oferit fiecărei perechi de elevi câte o cutiuță pentru ca cei doi să își pună împreună jetoanele. De exemplu, dacă unul din elevii unei echipe și-a ales jetoane cu care a format numărul &amp;lt;code&amp;gt;5137131&amp;lt;/code&amp;gt; iar celălalt elev și-a ales jetoane cu care a format numărul &amp;lt;code&amp;gt;6551813&amp;lt;/code&amp;gt;, atunci cutiuța echipei va conţine &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; jetoane cu cifra &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, câte &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; jetoane cu cifra &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; şi &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt; şi câte un jeton cu cifrele &amp;lt;code&amp;gt;6&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;7&amp;lt;/code&amp;gt; şi &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Doar Andrei stătea supărat pentru că numărul de elevi al clasei era impar iar el nu avea partener, motiv pentru care nu și-a mai ales jetoane. Din această cauză, doamna învățătoare i-a spus:&lt;br /&gt;
&lt;br /&gt;
“- Alege o echipă din a cărei cutiuță poţi lua o parte din jetoane, dar ai grijă ca fiecare dintre cei doi elevi să-și mai poată forma numărul lui din jetoanele rămase, iar tu să poți forma un număr nenul cu jetoanele extrase!“.&lt;br /&gt;
&lt;br /&gt;
Dar cum Andrei nu se mulţumea cu puţin, a vrut să aleagă acea echipă din a cărei cutiuță îşi poată forma un număr de valoare maximă folosind jetoanele extrase.&lt;br /&gt;
&lt;br /&gt;
= Cerința =&lt;br /&gt;
Scrieţi un program care să citească numărul &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; de cutiuțe și numerele formate de elevii fiecărei perechi și care să determine:&lt;br /&gt;
&lt;br /&gt;
1) Numărul de cutiuțe din care Andrei poate lua jetoane respectând condiția pusă de doamna învățătoare;&lt;br /&gt;
&lt;br /&gt;
2) Care este cel mai mare număr nenul pe care îl poate forma Andrei respectând aceeași condiție.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Fișierul de intrare &amp;lt;code&amp;gt;input.txt&amp;lt;/code&amp;gt; conține pe prima linie numărul natural &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; reprezentând cerința din problemă care trebuie rezolvată. Pe a doua linie numărul natural &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;, iar pe următoarele &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; linii câte două numere naturale separate printr-un spațiu reprezentând numerele formate de elevii fiecărei perechi.&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
&lt;br /&gt;
* Dacă valoarea lui &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; este &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, fişierul de ieşire &amp;lt;code&amp;gt;output.txt&amp;lt;/code&amp;gt; va conţine pe prima linie un număr natural reprezentând rezolvarea primei cerințe, adică numărul de cutiuțe din care Andrei poate lua jetoane.&lt;br /&gt;
* Dacă valoarea lui &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; este &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, fişierul de ieşire &amp;lt;code&amp;gt;output.txt&amp;lt;/code&amp;gt; va conţine pe prima linie un număr natural reprezentând rezolvarea celei de a doua cerințe, adică numărul maxim pe care îl poate forma Andrei.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;0 &amp;lt; N ≤ 10000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
input.txt:&lt;br /&gt;
&lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
3&lt;br /&gt;
&lt;br /&gt;
1010 2000&lt;br /&gt;
&lt;br /&gt;
12 34&lt;br /&gt;
&lt;br /&gt;
1515 552&lt;br /&gt;
&lt;br /&gt;
output.txt:&lt;br /&gt;
&lt;br /&gt;
1&lt;br /&gt;
&lt;br /&gt;
Explicație:&lt;br /&gt;
&lt;br /&gt;
Cu jetoanele extrase din prima cutiuță Andrei nu poate forma un număr diferit de &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;. Din a doua cutiuță Andrei nu poate lua jetoane astfel încât cei doi elevi să își mai poată forma numerele &amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Andrei poate extrage jetoane doar din a treia cutiuță(două jetoane cu cifra &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
input.txt:&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
&lt;br /&gt;
5&lt;br /&gt;
&lt;br /&gt;
16815  38861&lt;br /&gt;
&lt;br /&gt;
12  385&lt;br /&gt;
&lt;br /&gt;
5137131  6551813&lt;br /&gt;
&lt;br /&gt;
15033  11583&lt;br /&gt;
&lt;br /&gt;
4704  240&lt;br /&gt;
&lt;br /&gt;
output.txt:&lt;br /&gt;
&lt;br /&gt;
5311&lt;br /&gt;
&lt;br /&gt;
Explicație:&lt;br /&gt;
&lt;br /&gt;
Numărul maxim pe care Andrei îl poate forma este &amp;lt;code&amp;gt;5311&amp;lt;/code&amp;gt; și se obține din cutiuța a treia.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
input.txt:&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
&lt;br /&gt;
99999999999999&lt;br /&gt;
&lt;br /&gt;
16815  38861&lt;br /&gt;
&lt;br /&gt;
12  385&lt;br /&gt;
&lt;br /&gt;
5137131  6551813&lt;br /&gt;
&lt;br /&gt;
15033  11583&lt;br /&gt;
&lt;br /&gt;
4704  240&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
Input-ul nu convine conditiilor&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 verificare(n):&lt;br /&gt;
    if not(1&amp;lt;=n&amp;lt;=1000):&lt;br /&gt;
        print(&amp;quot;Input-ul nu convine conditiilor&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;input.txt&amp;quot;, &amp;quot;r&amp;quot;) as f, open(&amp;quot;output.txt&amp;quot;, &amp;quot;w&amp;quot;) as g:&lt;br /&gt;
    a = [0] * 10&lt;br /&gt;
    b = [0] * 10&lt;br /&gt;
    n, i, x, y, j, k, p, cod, cate, maxim, minim = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0&lt;br /&gt;
&lt;br /&gt;
    p = int(f.readline())&lt;br /&gt;
    n = int(f.readline())&lt;br /&gt;
    verificare(n)&lt;br /&gt;
&lt;br /&gt;
    for i in range(1, n + 1):&lt;br /&gt;
        x, y = map(int, f.readline().split())&lt;br /&gt;
&lt;br /&gt;
        a = [0] * 10&lt;br /&gt;
        b = [0] * 10&lt;br /&gt;
&lt;br /&gt;
        while x:&lt;br /&gt;
            a[x % 10] += 1&lt;br /&gt;
            x = x // 10&lt;br /&gt;
&lt;br /&gt;
        while y:&lt;br /&gt;
            b[y % 10] += 1&lt;br /&gt;
            y = y // 10&lt;br /&gt;
&lt;br /&gt;
        cod = 0&lt;br /&gt;
        for j in range(9, -1, -1):&lt;br /&gt;
            if a[j] &amp;gt; 0 and b[j] &amp;gt; 0:&lt;br /&gt;
                minim = min(a[j], b[j])&lt;br /&gt;
                for k in range(1, minim + 1):&lt;br /&gt;
                    cod = cod * 10 + j&lt;br /&gt;
&lt;br /&gt;
        if cod:&lt;br /&gt;
            cate += 1&lt;br /&gt;
&lt;br /&gt;
        if cod &amp;gt; maxim:&lt;br /&gt;
            maxim = cod&lt;br /&gt;
&lt;br /&gt;
    if p == 1:&lt;br /&gt;
        g.write(f&amp;quot;{cate}&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        g.write(f&amp;quot;{maxim}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Miawinator</name></author>
	</entry>
</feed>