Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- using namespace std;
- ifstream cin("anagrame2.in");
- ofstream cout("anagrame2.out");
- int anagrame(int A[],int B[])
- {
- for(char c = 'A'; c<='z';c++)
- if(A[c] != B[c])
- return 0;
- return 1;
- }
- int main()
- {
- char s[250001],c[250001];
- int p,F[127]={0},G[127]={0},n,m;
- cin >> p>>s>>c;
- n = strlen(s);
- m = strlen(c);
- for(int i = 0; i < m; i++)
- {
- F[c[i]]++;
- G[s[i]]++;
- }
- if(p==1)
- {
- for(int i =m;i<=n;i++)
- {
- if(anagrame(F,G))
- {
- for(int j=i-m;j<i;j++)
- cout <<s[j];
- break;
- }
- G[s[i]]++;
- G[s[i-m]]--;
- }
- }
- else{
- int k = 0;
- for(int i = m; i <= n;i++)
- {
- if(anagrame(F,G))
- k++;
- G[s[i]]++;
- G[s[i-m]]--;
- }
- cout << k;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement