Dear Brendon, The answer file is in HTML, and works fine at my desk. I attach the following plain text of the answers. Regards, Tad ---------------------------------------------------------- Answer to 1998 cosc413 examination (1) (1.3) S={1,2,3,4}, S1={1,3}, S2={1,2,3}, S3={3,4}, S4={2,4} B(S) = 001001001001 B(S1) = 000001000001 B(S2) = 000001001001 B(S3) = 001001000000 B(S4) = 001000001000 B(S) = B(S1) + B(S4) (perform addition as binary numbers) (1.1) As seen from the above example, the leading 0's preceding each occurrence of 1 play the role of a buffer zone for carries for binary addition. If we have an exact cover such as Si, Sj, Sk, for example, obviously we have B(S) = B(Si) + B(Sj) + B(Sk), since we have no carry and make B(S) by adding these binary numbers. This is a solution for the corresponding knapsack problem. (1.2) Suppose we have a solution for the knapsack problem, such as B(S) = B(Si) + S(Bj) + B(Sk). Then there can be no carry in this addition. Otherwise there would be some 1's in some buffer zones. Since these bynary numbers add up to make B(S), we see Si, Sj, Sk will form an exact cover of S. Note that we use specific example to show a general proof. (3) Colour the 24 rooms black and white like a chess board, with the reception room white. Then your Hamiltonian path would alternates white and black. If there were a Hamiltonian path, the difference between the numbers of white and black on your path must be at most 1. In this case, the difference is 2, making a Hamiltonian path impossible. (4.3) For a>b>0, we divide a by b, resulting the quation a = q * b + r, 0 <= r < b (q: quotient, r: remainder) We show that 2*r < a. Suppose b <= a/2. Then r < b <= a/2. Suppose a/2 < b < a. Then r = a - b < a/2. (6) This problem belongs to the general framework of Caesar's cryptosystem by substitution. (6.1) There is a plain text BAAC that produces 101111110 under key1 and key2. (6.2) If key3 and key4 produce the same cypher text from a plain text, the plain text must start from A. Then we have the situation as key3 A 10 key4 A 101 The next symbol must be C. To see why, try A and C. Then the situationn becomes key3 AC 10101 key4 AC 101011 That is, we hit the same situation as before. Thus no identical cypher text under key3 and key4. (4.3) Suppose we have two different plain texts that produce an identical cipher text. Without loss of generality, we can assume one starts with A and the other with C. Then we have the situation text1 A 10 text2 C 101 Suppose the next symbol for text1 is A. Then the next symbol for text2 must be C, resulting in text1 AA 1010 text2 CB 101011 At this stage we can not grow the texts to have the same cypher text. If the next symbol for text1 is C, that for text2 must be B, resulting in text1 AC 10101 text2 CB 101011 This is the same situation as before. Thus we conclude key3 is uniquely decipherable.