Cerința
Se dă un vector cu n
elemente, numere naturale, și un număr k
. Să se stabilească dacă în vector există două secvențe de lungime k
identice.
Date de intrare
Programul citește de la tastatură numerele n
și k
, iar apoi n
numere naturale, reprezentând elementele vectorului.
Date de ieșire
Programul va afișa pe ecran numerele i j
, i < j
reprezentând pozițiile de început a două secvențe de lungime k
identice, dacă există două astfel de secvențe, sau mesajul NU
, dacă nu există două astfel de secvențe.
Dacă există mai multe perechi de secvențe identice se vor considera cele cu numerele de ordine i j
minime.
Restricții și precizări
1 ≤ n ≤ 1000
1 ≤ k ≤ 15
- cele
n
numere citite vor fi mai mici decât1000
- elementele vectorului sunt indexate de la
1
lan
Exemplu
Intrare
12 5 2 3 1 1 4 3 1 1 4 3 8 8
Ieșire
2 6
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 kSecventa1:
#include <iostream>
using namespace std;
int main(){
int n, x[1005], k;
cin >> n >> k;
for(int i = 1 ; i <= n ; ++ i)
cin >> x[i];
int p = 0, q = 0;
for(int i = 1 ; i < n - k && !p ; ++i)
for(int j = i + 1 ; j <= n - k + 1 && !p; j ++)
{
bool ok = true;
for(int v = 0; v < k && ok ; v ++)
if(x[i + v] != x[j + v])
ok = false;
if(ok)
p = i, q = j;
}
if(p)
cout << p << " " << q;
else
cout << "NU";
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 .
Rezolvarea problemei #522 kSecventa1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #522 kSecventa1 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!