423
Cerința
Se dă un vector x cu n elemente, numere naturale și un vector y cu m elemente, numere naturale. Să se verifice dacă vectorul y este 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 p, reprezentând poziția din vectorul x de unde începe secvența y, dacă y este secvență în x, respectiv mesajul NU dacă y nu este secvență în x.
Restricții și precizări
1 ≤ m ≤ n ≤ 1000- elementele celor doi vectori vor fi indexate de la
1 - dacă vectorul
yeste de mai multe ori secvență înxse va afișa poziția de început a primei apariții
Exemplu
Intrare
10 8 5 8 5 2 3 10 7 1 6 6 8 5 2 3 10 7
Ieșire
3
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[1000] , b[1000] , n , m , indice=0 ,ok=0;
cin >> n;
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 && ok==0)
{
indice = i+1;
ok++;
}
}
if(ok==0)
cout << "NU";
else
cout << indice;
}
Comentarii