a53

Tripar

a53
Oct 10th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream f("tripar.in");
  5. ofstream g("tripar.out");
  6. int p,n,m,x;
  7.  
  8. unsigned long long int nr_triunghiuri(int n,int m)
  9. {
  10. unsigned long long int s=0,pas=1;
  11. for(int i=1;i<=n;++i) /// Calculez numarul initial de triunghiuri (1+3+5+7+9+...)
  12. s+=pas,pas+=2;
  13. for(int i=1;i<=m;++i) /// La fiecare procedura numarul de triunghiuri e de 4 ori mai mare
  14. s*=4;
  15. return s;
  16. }
  17.  
  18. unsigned long long int nr_perechi_dr_paralele(int n,int m)
  19. {
  20. unsigned long long int nr_benzi=n; /// Numarul initial de benzi
  21. for(int i=1;i<=m;++i) /// Calculez numarul de benzi dupa m proceduri
  22. nr_benzi*=2; /// de fiecare data se dubleaza
  23. unsigned long long int nr=nr_benzi-1; /// nr=numarul de drepte paralele pe orizontala
  24. return 3*(nr*(nr+1)/2);
  25. }
  26.  
  27. int main()
  28. {
  29. f>>p;
  30. f>>n>>m;
  31. if(p==1) /// Punctul a)
  32. for(int i=0;i<n;++i)
  33. f>>x,g<<nr_triunghiuri(x,m)<<'\n';
  34. else /// Punctul b)
  35. {
  36. for(int i=0;i<n;++i)
  37. f>>x,g<<nr_perechi_dr_paralele(x,m)<<'\n';
  38. }
  39. return 0;
  40. }
Add Comment
Please, Sign In to add comment