/in/foo.cc: In function 'int main()':
/in/foo.cc:82:37: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if( (key & kk) != key || vis[to] && (kk & lastk[to]) == kk )
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/in/foo.cc:82:4: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if( (key & kk) != key || vis[to] && (kk & lastk[to]) == kk )
^~
/in/foo.cc:86:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if( dis[to] > kd + 1 ){
^~