In file included from /in/Compile/check.cpp:7:
/in/sokoban.hpp:85:39: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t neighbor = nr * cols + nc;
^~ ~
/in/sokoban.hpp:85:51: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t neighbor = nr * cols + nc;
~ ^~
/in/sokoban.hpp:86:30: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[nr][nc] != '#' && !(reachable & (1ULL << neighbor))) {
~~~~ ^~
/in/sokoban.hpp:86:34: 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]
if (grid[nr][nc] != '#' && !(reachable & (1ULL << neighbor))) {
~~~~ ^~
/in/sokoban.hpp:117:20: error: implicit conversion changes signedness: 'std::tuple_element<0, std::tuple<int, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::type' (aka 'int') to 'unsigned long' [-Werror,-Wsign-conversion]
size_t r = player_pos / cols;
^~~~~~~~~~ ~
/in/sokoban.hpp:118:20: error: implicit conversion changes signedness: 'std::tuple_element<0, std::tuple<int, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::type' (aka 'int') to 'unsigned long' [-Werror,-Wsign-conversion]
size_t c = player_pos % cols;
^~~~~~~~~~ ~
/in/sokoban.hpp:126:30: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_pos = nr * cols + nc;
^~ ~
/in/sokoban.hpp:126:42: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_pos = nr * cols + nc;
~ ^~
/in/sokoban.hpp:127:22: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[nr][nc] == '#')
~~~~ ^~
/in/sokoban.hpp:127:26: 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]
if (grid[nr][nc] == '#')
~~~~ ^~
/in/sokoban.hpp:140:38: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_box_pos = nnr * cols + nnc;
^~~ ~
/in/sokoban.hpp:140:51: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
size_t new_box_pos = nnr * cols + nnc;
~ ^~~
/in/sokoban.hpp:141:26: error: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Werror,-Wsign-conversion]
if (grid[nnr][nnc] == '#' || (boxes_mask & (1ULL << new_box_pos)))
~~~~ ^~~
/in/sokoban.hpp:141:31: 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]
if (grid[nnr][nnc] == '#' || (boxes_mask & (1ULL << new_box_pos)))
~~~~ ^~~
/in/sokoban.hpp:156:83: 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]
q.emplace(static_cast<int>(new_pos), new_boxes_mask, path + moves[d]);
~~~~~ ^
15 errors generated.
/in/Compile/Makefile:16: recipe for target 'main' failed
make: *** [main] Error 1