fork download
  1. #include <algorithm>
  2. #include <iostream>
  3.  
  4.  
  5. bool contains(const int (&m)[8][8], int value)
  6. {
  7. return std::any_of(std::begin(m), std::end(m), [value](const auto&a)
  8. {
  9. return std::any_of(std::begin(a), std::end(a), [value](int e)
  10. {
  11. return e == value;
  12. });
  13. });
  14. }
  15.  
  16. bool contain_one_and_minus_one(const int (&m)[8][8])
  17. {
  18. return contains(m, 1) && contains(m, -1);
  19. }
  20.  
  21. int main() {
  22. int m[8][8] = {
  23. {0, 0, 0, 0, 0, 0, 0, 0},
  24. {0, 0, 0, 0, 0, 0, 0, 0},
  25. {0, 0, 0, 0, 0, 0, 0, 0},
  26. {0, 0, 0, 0, 0, 0, 0, 0},
  27. {0, 0, 0, 0, 0, 0, 0, 0},
  28. {0, 0, 0, 0, 0, 0, 0, 0},
  29. {0, 0, 0, 0, 0, 0, 0, 0},
  30. {0, 0, 0, 0, 0, 0, 0, 0}
  31. };
  32. std::cout << contain_one_and_minus_one(m) << std::endl;
  33. m[4][2] = 1;
  34. std::cout << contain_one_and_minus_one(m) << std::endl;
  35. m[2][4] = -1;
  36. std::cout << contain_one_and_minus_one(m) << std::endl;
  37. }
  38.  
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
0
0
1