Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- char sir[100010]; /// Sirul de caractere
- int n; /// Lungimea sirului
- bool anagrama(int pozitie) /// Verifica daca sirul de 5 caractere incepand cu pozitie
- { /// este anagrama a cuvantului "adobe"
- int i,j;
- char c,s[]="bdaeo",temp[6];
- for(i=0;i<5;++i) /// Formez sirul (temporar) de cate 5 caractere incepand cu pozitie
- temp[i]=sir[pozitie+i];
- temp[5]='\0';
- for(j=0;j<5;++j)
- {
- c=s[j];
- for(i=0;i<5&&c!=temp[i];++i) /// caut daca exista ch in sir[p..p+4]
- ;
- if(i<5)
- temp[i]='.';
- else
- {
- if(j<2)
- c='+';
- else
- c='-';
- for(i=0;i<5&&c!=temp[i];++i)
- ;
- if(i<5)
- temp[i]='.';
- else
- {
- c='*';
- for (i=0;i<5&&c!=temp[i];++i)
- ;
- if(i<5)
- temp[i]='.';
- else
- return false;
- }
- }
- }
- return true;
- }
- void solutie()
- {
- int nr=0; /// Numarul de anagrame
- for(int i=0;i<n-4;++i)
- nr+=anagrama(i);
- cout<<nr;
- }
- int main()
- {
- cin>>sir;
- for(n=0;sir[n]!='\0';++n)
- if(sir[n]>='A'&&sir[n]<='Z')
- sir[n]+=32; /// iar literele mari le fac mici
- solutie();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement