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; }