Detalii evaluare #32845447

Rezumat problemă

#1615 AXYZ

Se consideră numerele naturale A (format din două sau trei cifre, toate distincte și nenule) și X (format din N cifre, toate nenule).

Din numărul X, folosind toate cele N cifre ale sale, se poate construi un cel mai mare număr natural Y strict mai mic decât X. De exemplu, pentru X=121621 se construiește Y=121612.

Tot din numărul X, se poate obține numărul A prin ștergerea unor cifre din scrierea lui X și alipirea celor rămase, fără a le schimba ordinea. De exemplu, dacă X=121621 și A=12, există Z=3 posibilități distincte prin care să obținem numărul A din X și anume: 1) 121621; 2) 121621; 3) 121621.

Cunoscându-se numerele A, N și cele N cifre ale lui X, să se determine:

1. cel mai mare număr natural Y, strict mai mic decât X, care se poate obține rearanjând cifrele lui X;
2. numărul maxim Z de posibilități distincte prin care se poate obține numărul A din numărul X prin ștergerea unor cifre și alipirea celor rămase, fără a le schimba ordinea.

Detalii

Problema AXYZ Operații I/O axyz.in/axyz.out
Limita timp 0.1 secunde Limita memorie Total: 2 MB / Stivă 2 MB
Id soluție #32845447 Utilizator Mihnea Simota (omuletzu)
Fișier axyz.cpp Dimensiune 1.60 KB
Data încărcării 28 Noiembrie 2021, 00:47 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

axyz.cpp: In function 'int main()':
axyz.cpp:45:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = i + 1;j < vec.size();j++)

                                     ^
axyz.cpp:61:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = 0;j < vec.size();j++) fout << vec[j];

                                 ^
axyz.cpp:84:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i = 0;i < vec.size() - 1;i++)

                                    ^
axyz.cpp:98:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int i = 0;i < vec.size() - 2;i++)

                                    ^
axyz.cpp:55:23: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
     swap(vec[i], vec[p]);

                       ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde OK. 7 7
1 0 secunde OK. 7 7
2 0 secunde OK. 7 7
3 0 secunde OK. 7 7
4 0 secunde OK. 7 7
5 0 secunde OK. 7 7
6 0 secunde OK. 7 7
7 0 secunde OK. 7 7
8 0 secunde OK. 7 7
9 0 secunde OK. 7 7
10 0.004 secunde OK. 3 3
11 0 secunde OK. 3 3
12 0 secunde OK. 3 3
13 0 secunde OK. 3 3
14 0 secunde OK. 3 3
15 0 secunde OK. 3 3
16 0.004 secunde OK. 3 3
17 0.004 secunde OK. 3 3
18 0.004 secunde OK. 3 3
19 0.004 secunde OK. 3 3
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema AXYZ face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.