codejam 2014 bits xoring

Hey guys am not able to get the idea how to solve the first question
of Codejam Round 1A,Pleae help me out…Thanx in advance :slight_smile:

Lets call the two sets of strings we have as given,reqd. Now if it is possible to get reqd from given then reqd[0] must be formed from either given[0] or given[1] … given[n-1].

Check for every value in given which all switches you need to flip to get reqd[0]. Now flip those switches for every value in given. If you get all the elements in reqd by flipping these switches then ans=min(ans,switches flipped).

To see which all switches are flipped you can take an XOR. A 1 will indicate a flipped switch and a 0 will indicate a non-flipped switch.

    string flip=XOR(given[i],reqd[0]);
    string temp[n];
    if(all elements of reqd are in temp)
        ans=min(ans,number of 1's in flip)

Now if ans is still 1000000 that means we haven’t found an answer so print not possible else print ans.


@akulsareen Thanx Yeah now got the concept :smiley: