Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("anagrame.in");
- ofstream fout("anagrame.out");
- string s, t;
- int p, n, necesare[101], ap[101], gasite[101], cate, lmin, anagrame;
- int main()
- {
- fin >> p >> s >> t;
- /// prima cerinta: daca j-i+1 == t.length
- /// a doua cerinta: calculez lmin
- n = s.length();
- lmin = INT_MAX;
- for(int i = 0; i < t.length(); i++)
- {
- necesare[t[i]]++;
- }
- for(int i = 0, j = 0; j < n; j++)
- {
- gasite[s[j]]++;
- if(gasite[s[j]] <= necesare[s[j]])
- {
- cate++;
- }
- if(cate >= t.length())
- {
- while(gasite[s[i]] > necesare[s[i]] || necesare[s[i]] == 0)
- {
- gasite[s[i]]--;
- i++;
- }
- if(j-i+1 == t.length())
- anagrame++;
- }
- }
- cout << anagrame;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement