fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX_SIZE = 502;
  5. int mt[MAX_SIZE + 1][MAX_SIZE + 1];
  6.  
  7. int main() {
  8. int n, m;
  9. cin >> n >> m;
  10. for (int i = 1; i <= n; ++i) {
  11. for (int j = 1; j <= m; ++j) {
  12. cin >> mt[i][j];
  13. }
  14. }
  15. int values_Zero = 0, x, y, a, b;
  16. cin >> x >> y >> a >> b;
  17. for (int i = x; i <= n; ++i) {
  18. for (int j = y; j <= m; ++j) {
  19. int diffUp = mt[i][j] - mt[i - 1][j];
  20. int diffBottom = mt[i][j] - mt[i + 1][j];
  21. int diffLeft = mt[i][j] - mt[i][j - 1];
  22. int diffRight = mt[i][j] - mt[i][j + 1];
  23. if ((mt[i][j] != 1 && diffUp != 1 && i - 1 > 0 ) ||
  24. (mt[i][j] != 1 && diffBottom != 1 && i + 1 <= n) ||
  25. (mt[i][j] != 1 && diffLeft != 1 && j - 1 > 0) ||
  26. (mt[i][j] != 1 && diffRight != 1 && j + 1 <= m)) {
  27. ++values_Zero;
  28. }
  29. }
  30. }
  31. cout << values_Zero;
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5284KB
stdin
5 5
0 1 0 1 0
0 1 0 1 0
0 1 0 1 0
0 1 0 0 0
0 0 0 1 0
2 1 2 5
stdout
14