Rezolvare completă PbInfo #1472 Castel

Andrei vizitează un vechi castel cu mai multe camere. El are la dispoziţie un număr n de coduri de acces. Fiecare cod este un număr natural format din cel mult 9 cifre. Pentru a deschide uşa unei camere, Andrei trebuie să afle ce cheie să aleagă, dintr-un set dat. Fiecare cheie este notată cu o cifră. Cheia ce deschide uşa din prima cameră este notată cu cifra ce se repetă de cele mai multe ori în codurile de acces.

Cerința

Scrieţi un program care determină cheia ce va deschide prima uşă, cunoscându-se numărul n, cele n coduri de acces, numărul de chei, notat cu k și valorile celor k chei primite.

Date de intrare

Fişierul de intrare castel.in conţine pe prima linie numărul n. Linia a doua din fişier conţine n numere naturale, ce reprezintă codurile de acces. Linia a treia conţine numărul natural k ce reprezinta numărul de chei primite. Linia a patra din fişier conţine k cifre, ce reprezintă valorile cheilor.

Date de ieșire

Fişierul de ieşire castel.out conţine pe prima linie două numere naturale, separate printr-un singur spaţiu. Primul număr din fişier reprezintă cheia ce va deschide uşa din prima cameră si al doilea număr reprezinta numărul de repetări al cheii în şirul codurilor de acces.

Restricții și precizări

  • 1 ≤ k ≤ 10
  • 1 ≤ n ≤ 1000
  • Fiecare cod de acces este un număr cu cel mult 9 cifre
  • Fiecare cheie este notată cu o cifră
  • Cheile au valori distincte şi sunt date în ordine crescătoare
  • O uşă poate fi deschisă de o singură cheie

Exemplu

castel.in

5
1243 527 89722 6232 678
3
2 5 7

castel.out

2 6

Explicație

Dintre cele 3 chei date, cheia ce apare de cele mai multe ori, în şirul codurilor de pe linia a doua, este 2 şi apare de 6 ori.Cheia 5 apare o dată, iar cheia 7 apare de 3 ori.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Castel:

#include<fstream>
using namespace std;
ifstream fin("castel.in");
ofstream fout("castel.out");
 
int i,k,n, v[10], c, cmax, maxx;
long x;
 
int main()
{
fin>>n;
for(i=1;i<=n;i++)
            { fin>>x;
            while(x)
            { v[x%10]++;
            x=x/10;}
            }
fin>>k;
fin>>c;
maxx=v[c];
cmax=c;
for(i=2;i<=k;i++)
            { fin>>c;
               if (v[c]>maxx)
                        { cmax=c;
                        maxx=v[c];
                        }
            }
 
fout<<cmax<<" "<<maxx<<'\n';
fin.close();
fout.close();
return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1472 Castel

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1472 Castel de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!