Basically, a bitmask just helps you represent the cities visited , rather than using an array of logical ones.
For example, if we have 4 cities to represent this all 4 cities is visited, we can have a mask of 15, which is 1111b in binary(4 bits equal to 1).
If city 0 is not visited, 1110b 14, , 0 0 . (, , 0 )
, , ( , ), - .
? 32- , .
, compute(int start, int set)?
,
mask=(npow-1)-(1<<i);
masked=set&mask;
npow - 1 , (? 2 ^ n - 1 , ), , (1<<i), , , , i.
masked=set&mask, , and 1, 1 0 , , set&mask, : 1, , i , 0.
So if(set == masked), , 0 ( ).
: , , ((set & (1<<i)) == 0)