当前位置:   article > 正文

祝融传火(试水)

祝融传火(试水)

一段时间没写代码了,今天试水一道直接寄了

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll n, m, h, w;
  5. ll a[1010][1010];
  6. int main()
  7. {
  8. cin >> n >> m;
  9. for (int i = 1; i <= n; i++)
  10. {
  11. for (int j = 1; j <= m; j++)
  12. {
  13. cin >> a[i][j];
  14. }
  15. }
  16. cin >> h >> w;
  17. ll sign = 0;
  18. for (int i = 1; i <= n; i++)
  19. {
  20. for (int j = 1; j <= m; j++)
  21. {
  22. if ((i + h - 1 <= n) && (j + w - 1 <= m)) // 添加边界条件判断
  23. {
  24. if ((a[i][j] == a[i + h - 1][j]) && (a[i][j] == a[i][j + w - 1]) && (a[i][j] == a[i + h - 1][j + w - 1]))
  25. {
  26. sign++;
  27. }
  28. }
  29. }
  30. }
  31. if (sign > 0)
  32. {
  33. cout << "YES" << endl;
  34. }
  35. else
  36. {
  37. cout << "NO" << endl;
  38. }
  39. return 0;
  40. }

第一个问题:范围问题 因为a[i + h - 1][j]和a[i][j + w - 1],所以数组范围不再是a[1010][1010]

第二个问题:扩大范围后,又忘了数组越界这回事了,毕竟数组越界的0也是可能符合题意的数据

总结:还是得天天练习,不然就寄了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/592652
推荐阅读
相关标签
  

闽ICP备14008679号