/in/foo.cc: In function 'int main()':
/in/foo.cc:44:40: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if(j+k==(1<<maxn)-1||j==k||(j&k)==k&&(j&1)==0||(((1<<maxn)-1-j)&k)==k&&(((1<<maxn)-1-j)&1)==0)
~~~~~~~~^~~~~~~~~~
/in/foo.cc:44:74: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if(j+k==(1<<maxn)-1||j==k||(j&k)==k&&(j&1)==0||(((1<<maxn)-1-j)&k)==k&&(((1<<maxn)-1-j)&1)==0)
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc:45:4: error: reference to 'hash' is ambiguous
hash[j]=1;
^~~~
/in/foo.cc:9:27: note: candidates are: int hash [1023]
int dist[1023],vist[1023],hash[1023],state[1023];
^~~~
In file included from /usr/include/c++/6/bits/basic_string.h:5643:0,
from /usr/include/c++/6/string:52,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/6/bits/functional_hash.h:58:12: note: template<class _Tp> struct std::hash
struct hash;
^~~~
/in/foo.cc:48:10: error: reference to 'hash' is ambiguous
if(hash[i]==0)
^~~~
/in/foo.cc:9:27: note: candidates are: int hash [1023]
int dist[1023],vist[1023],hash[1023],state[1023];
^~~~
In file included from /usr/include/c++/6/bits/basic_string.h:5643:0,
from /usr/include/c++/6/string:52,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/6/bits/functional_hash.h:58:12: note: template<class _Tp> struct std::hash
struct hash;
^~~~
/in/foo.cc:48:7: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(hash[i]==0)
^~
/in/foo.cc:50:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
makemap();
^~~~~~~