In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:97:26: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
hash = hash * 31 + box.first * cols + box.second;
~~~~~^~~~ ~
/in/sokoban.hpp:97:37: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
hash = hash * 31 + box.first * cols + box.second;
~~~~^~~~~ ~
/in/sokoban.hpp:97:56: error: implicit conversion changes signedness: 'const int' to 'unsigned long' [-Werror,-Wsign-conversion]
hash = hash * 31 + box.first * cols + box.second;
~ ~~~~^~~~~~
/in/sokoban.hpp:97:50: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
hash = hash * 31 + box.first * cols + box.second;
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/in/sokoban.hpp:124:45: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int new_px = current.px + dir_x[d];
~~~~~ ^
/in/sokoban.hpp:125:45: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int new_py = current.py + dir_y[d];
~~~~~ ^
/in/sokoban.hpp:138:48: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int new_box_x = new_px + dir_x[d];
~~~~~ ^
/in/sokoban.hpp:139:48: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
int new_box_y = new_py + dir_y[d];
~~~~~ ^
/in/sokoban.hpp:150:85: error: implicit conversion changes signedness: 'int' to 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
State new_state{new_px, new_py, new_box_positions, current.path + moves[d]};
~~~~~ ^
9 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1