Advertisement
a53

adobe

a53
Oct 24th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. char sir[100010]; /// Sirul de caractere
  5. int n; /// Lungimea sirului
  6.  
  7. bool anagrama(int pozitie) /// Verifica daca sirul de 5 caractere incepand cu pozitie
  8. { /// este anagrama a cuvantului "adobe"
  9. int i,j;
  10. char c,s[]="bdaeo",temp[6];
  11. for(i=0;i<5;++i) /// Formez sirul (temporar) de cate 5 caractere incepand cu pozitie
  12. temp[i]=sir[pozitie+i];
  13. temp[5]='\0';
  14. for(j=0;j<5;++j)
  15. {
  16. c=s[j];
  17. for(i=0;i<5&&c!=temp[i];++i) /// caut daca exista ch in sir[p..p+4]
  18. ;
  19. if(i<5)
  20. temp[i]='.';
  21. else
  22. {
  23. if(j<2)
  24. c='+';
  25. else
  26. c='-';
  27. for(i=0;i<5&&c!=temp[i];++i)
  28. ;
  29. if(i<5)
  30. temp[i]='.';
  31. else
  32. {
  33. c='*';
  34. for (i=0;i<5&&c!=temp[i];++i)
  35. ;
  36. if(i<5)
  37. temp[i]='.';
  38. else
  39. return false;
  40. }
  41. }
  42. }
  43. return true;
  44. }
  45.  
  46. void solutie()
  47. {
  48. int nr=0; /// Numarul de anagrame
  49. for(int i=0;i<n-4;++i)
  50. nr+=anagrama(i);
  51. cout<<nr;
  52. }
  53.  
  54. int main()
  55. {
  56. cin>>sir;
  57. for(n=0;sir[n]!='\0';++n)
  58. if(sir[n]>='A'&&sir[n]<='Z')
  59. sir[n]+=32; /// iar literele mari le fac mici
  60. solutie();
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement