Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("imagine.in");
  5. ofstream fout("imagine.out");
  6.  
  7. int a[255][255], n;
  8. int s[255][255];
  9.  
  10. void Citire()
  11. {
  12. int i, j;
  13. fin >> n;
  14. for(i = 1; i <= n; i++)
  15. for(j = 1; j <= n; j++)
  16. fin >> a[i][j];
  17. }
  18.  
  19. void Prelucrare()
  20. {
  21. int i, j;
  22. for(i = 1; i <= n; i++)
  23. for(j = 1; j <= n; j++)
  24. s[i][j] = s[i-1][j] + s[i][j-1] + a[i][j] - s[i-1][j-1];
  25. }
  26.  
  27. int Test(int l1, int c1, int l2, int c2)
  28. {
  29. if(l1 == l2 && c1 == c2) return 2;
  30. int S, nr;
  31. S = s[l2][c2] - s[l1-1][c2] - s[l2][c1-1] + s[l1-1][c1-1];
  32. nr = (l2 - l1 +1) * (c2 - c1 +1);
  33. if(S == 0 || S == nr) return 2;
  34. int lm, cm;
  35. lm = (l1 + l2) / 2;
  36. cm = (c1 + c2) / 2;
  37. return 1 + Test(lm+1,c1,l2,cm) + Test(l1,c1,lm,cm) + Test(lm+1,cm+1,l2,c2) + Test(l1,cm+1,lm,c2);
  38. }
  39.  
  40. int main()
  41. {
  42. Citire();
  43. Prelucrare();
  44. fout<<Test(1, 1, n, n)<<"\n";
  45. fin.close();
  46. fout.close();
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement