Finish 2001-09-21 00:00:00 UTC

BeatTheStreet3

by Fei Tang

Status: Passed
Results:  40.88,  1.73 (88.00 taken)
CPU Time: 36.543
Score: 1729.64
Submitted at: 2001-09-17 17:24:47 UTC
Scored at: 2001-09-17 17:27:12 UTC

Current Rank: 282nd
Basis for: mmm0d (diff)
Basis for: BeatTheStreet3_fewerguesses (diff)
Basis for: Beat3mod (diff)

Comments
Fei Tang
17 Sep 2001
Early Bird Version
Please login or create a profile.
Code
function finalAnswer=solver(numPegs,numColors,guessLimit,puzzleID)
% By Fei Tang, IMEC, BELGIUM, tang@imec.be.

% Initialization
numCallsMade=0;
guess=ones(1,numPegs);
%color_set=1:numColors; % set of possible colors, initial value
[black_pre, white_pre, numCallsMade]=scoreme(guess,puzzleID);

color_set=2:numColors;
for i=1:numPegs
   set_length=length(color_set);
   index=logical(ones(1,set_length));
%   tmp_set=[];
   for count=1:set_length
      guess_buffer=guess;
      %tmp=color_set(count);
      guess(i)=color_set(count);
      if (numCallsMade==guessLimit)
         finalAnswer=guess;
         return
      end;

      [black, white, numCallsMade]=scoreme(guess,puzzleID);
      

      if black==black_pre
         if white<white_pre
            index(count)=logical(0);
         end;
         white_pre=white;
      elseif black<black_pre
         guess=guess_buffer;
         break;
      else 
         black_pre=black;
         white_pre=white;
         break;
      end;
   end;
   color_set=color_set(index);
end;
finalAnswer=guess;