381
Cerința
Se dă un vector x cu n elemente, numere naturale și un vector y cu m elemente, numere naturale. Să se determine de câte ori este vectorul y secvență în vectorul x.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, elementele vectorului x, apoi numărul m, iar apoi m numere naturale, elementele vectorului y.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.
Restricții și precizări
1 ≤ m ≤ n ≤ 1000
Exemplu
Intrare
10 8 5 8 5 8 3 8 5 8 6 3 8 5 8
Ieșire
3
Explicație
Cele trei apariții ale secvenței y în x sunt:
(8 5 8) 5 8 3 8 5 8 6
8 5 (8 5 8) 3 8 5 8 6
8 5 8 5 8 3 (8 5 8) 6
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[1000],b[1000], n ,m;
cin >> n;
int c=0;
for(int i = 0 ; i < n ; ++i)
cin >> a[i];
cin >> m;
for(int i = 0 ; i < m ; ++i)
cin >> b[i];
for(int i = 0 ; i <= n-m ; ++i)
{
int cnt=0;
for(int j = i ; j < i+m ; ++j)
{
if(a[j]==b[j-i])
cnt++;
}
if(cnt==m)
c++;
}
cout << c;
}
Comentarii