Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. #include <fstream>
  2. #define Max 2002
  3. using namespace std;
  4. ifstream fin("meteoriti.in");
  5. ofstream fout("meteoriti.out");
  6. int N, M, R, matrice[Max][Max], x, maxim, arie_max, nr_arie, nr, B[Max + 1][Max + 1];
  7. struct coord
  8. {
  9. int r, c;
  10. } a, b;
  11. void Fill(int i, int j)
  12. {
  13. if(matrice[i][j] == maxim)
  14. {
  15. matrice[i][j] = -1;
  16. nr_arie++;
  17. Fill(i - 1, j);
  18. Fill(i + 1, j);
  19. Fill(i, j - 1);
  20. Fill(i, j + 1);
  21. }
  22. }
  23. void aduna(int x1, int y1, int x2, int y2, int v)
  24. {
  25. B[x1][y1] += v;
  26. B[x1][y2 + 1] -= v;
  27. B[x2 + 1][y1] -= v;
  28. B[x2 + 1][y2 + 1] += v;
  29. }
  30. void citire()
  31. {
  32. fin >> N >> M >> R;
  33. for(int i = 1; i <= R; ++i)
  34. {
  35. fin >> a.r >> a.c >> b.r >> b.c >> x;
  36. aduna(a.r, a.c, b.r, b.c, x);
  37. }
  38. matrice[1][1] = B[1][1];
  39. for(int i = 2; i <= N; ++i)
  40. for(int j = 1; j <= M; ++j)
  41. matrice[i][j] = matrice[i - 1][j - 1] + B[i][j];
  42. for(int i = 1; i <= N; ++i)
  43. for(int j = 1; j <= M; ++j)
  44. matrice[i][j] += matrice[i - 1][j] + matrice[i - 1][j] - matrice[i - 1][j - 1];
  45. for(int i = 1; i <= N; ++i)
  46. {
  47. for(int j = 1; j <= M; ++j)
  48. fout << B[i][j] << " ";
  49. fout << endl;
  50. }
  51. for(int i = 1; i <= N; ++i)
  52. for(int j = 1; j <= M; ++j)
  53. if(matrice[i][j] > maxim)
  54. maxim = matrice[i][j];
  55. for(int i = 1; i <= N; ++i)
  56. for(int j = 1; j <= M; ++j)
  57. {
  58. if(matrice[i][j] == 0)
  59. nr++;
  60. if(matrice[i][j] == maxim)
  61. {
  62. nr_arie = 0;
  63. Fill(i, j);
  64. if(nr_arie > arie_max)
  65. arie_max = nr_arie;
  66. }
  67. }
  68. }
  69. int main()
  70. {
  71. citire();
  72. fout << arie_max << " " << nr;
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement