diff --git a/README.md b/README.md index 37c402baf92027edeb9713d882077a75dcb40bc4..49355a8ce9633396cfb0af166d7f0b2f90833e93 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,58 @@ Given the Professor's base code, we will write our own Player code. The Player will take in a Flood-It game board, and based on it, the Player will try to find (under 10 minutes) the best possible set of color choices to win the game and return it. + +First, compile the code by typing: +make + +Second, run the code with the information about the x and y axis and the number of colours +./main < FILE.TXT + +And the FILE.TXT should have the following model (all the itens should be integers): +[xaxis] [yaxis] [colors] +[posision 1,1] ............... +.............................. +................[position xaxis, yaxis] + + +/----------ABOUT THE TESTS --------------/ + +We've tested the efficiency of our algorithm with the professors implementation to genrate boards. +Used as input to the professor's implementation were the sequences: + +Test 1- 4 4 3 2 +Our code gave the sequence: +3 +3 2 1 +This was a correct answer and it was the minimum answer. It is easy to see it by checking. + +Test 2- 4 4 2 2 +Our code gave the sequence: +3 +2 1 2 +This was the wrong answer. The correct answer would be only "2 1". The game can be won in 2 steps. + +Test 3- 5 5 4 2 +Our code gave the sequence: +6 +4 2 4 1 3 2 +It is a correct sequence, and it is a minimum answer. + +Test 4- 50 50 4 2 +Our code gave the sequence: +60 +1 3 4 3 2 1 2 3 4 2 3 4 2 1 4 3 2 4 3 2 1 4 2 3 1 2 3 4 1 2 4 3 2 1 4 2 3 4 1 2 3 4 1 3 2 4 1 3 4 1 2 3 4..3 1 2 4! 3 1 2 +Where it was marked with "..", if after the 4 the algorithm had given the subsequence "1 2 4" the game would be over. +So this sequence is wrong and it is not minimum. At that point, our algorithm is not recognizing that the number "3" in the table is non-existant, it should not have played "3" after the ".." +After the mark "!" the game would be over, our algorithm did not recognize the game was over and played another "3 1 2" + +--------------- NOT ANALYSED yet -------------- +Test 5- 50 50 6 2 +Our code gave the sequence: +93 +2 1 3 6 2 4 1 2 4 5 4 6 4 3 1 4 5 3 6 2 3 4 1 6 3 2 5 4 6 2 1 6 3 4 2 1 5 6 3 4 2 5 6 4 1 2 4 6 3 5 1 3 2 6 1 4 5 3 2 6 4 5 1 3 6 4 2 5 1 3 2 6 4 5 1 2 4 1 5 3 6 1 2 4 5 2 3 6 5 1 4 3 6 + +Test 6- 100 100 6 2 +Our code gave the sequence: +191 +5 2 1 5 3 2 4 1 4 2 3 1 4 5 6 4 2 1 6 3 2 5 4 1 6 2 3 1 5 4 6 2 3 4 6 5 1 2 6 4 3 5 1 3 4 6 1 2 5 3 4 1 2 6 5 4 1 2 3 5 6 1 4 2 3 5 6 2 4 1 5 3 2 4 6 5 1 2 3 4 5 2 6 1 3 4 5 2 6 1 3 4 5 2 1 3 6 4 1 5 2 6 3 1 4 2 5 6 1 4 2 3 5 6 4 1 2 3 6 5 4 1 3 6 2 4 5 3 1 6 5 4 2 3 1 6 5 4 3 2 1 6 4 5 3 1 6 2 4 5 1 3 4 2 6 3 4 6 1 5 2 3 1 6 4 5 2 6 3 4 1 2 5 4 6 3 1 2 5 1 3 4 6 2 5 3 4 1 6 2 3 diff --git a/customTests/teste1.txt b/customTests/teste1.txt new file mode 100644 index 0000000000000000000000000000000000000000..86e59bb226946eb098be7735a3fb45195e6d35a0 --- /dev/null +++ b/customTests/teste1.txt @@ -0,0 +1,5 @@ +4 4 3 +1 2 3 3 +1 1 1 1 +2 1 2 1 +1 3 3 1 diff --git a/customTests/teste2.txt b/customTests/teste2.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8743a8e3060dc20f920faf2475f14049a360384 --- /dev/null +++ b/customTests/teste2.txt @@ -0,0 +1,5 @@ +4 4 2 +1 2 1 2 +2 1 1 2 +2 2 1 2 +2 2 2 2 diff --git a/customTests/teste3.txt b/customTests/teste3.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8bc9e8bba111d21aeaf75b77765274d0f0d61a2 --- /dev/null +++ b/customTests/teste3.txt @@ -0,0 +1,6 @@ +5 5 4 +3 4 1 4 2 +3 1 2 2 4 +3 4 2 2 2 +2 3 2 4 3 +3 1 2 4 4 diff --git a/customTests/teste4.txt b/customTests/teste4.txt new file mode 100644 index 0000000000000000000000000000000000000000..28ccdd8481f939577d09eef93923e4767449f8f5 --- /dev/null +++ b/customTests/teste4.txt @@ -0,0 +1,51 @@ +50 50 4 +3 4 1 4 2 3 1 2 2 4 3 4 2 2 2 2 3 2 4 3 3 1 2 4 4 4 3 3 1 4 2 3 3 3 2 1 1 2 2 2 2 4 1 3 1 2 1 3 3 4 +1 2 4 3 1 3 2 4 1 2 3 3 4 2 1 1 2 1 3 3 2 4 3 2 2 3 3 2 2 1 2 2 2 1 4 3 4 1 2 4 2 4 2 1 1 2 2 2 2 4 +1 3 3 3 4 4 1 2 2 2 3 3 4 4 3 3 2 2 4 3 2 1 3 3 2 3 1 3 1 2 2 1 1 4 3 4 3 3 2 4 1 4 2 4 3 1 2 1 2 1 +3 3 2 1 2 3 4 2 1 4 3 2 4 3 1 2 3 3 4 4 3 4 3 4 3 1 4 1 1 2 1 4 4 2 4 1 4 3 2 4 2 1 1 1 3 1 2 1 4 2 +4 2 1 2 1 4 3 1 4 3 2 4 2 1 2 2 2 1 4 3 1 2 3 1 2 2 2 4 2 1 1 2 2 1 3 2 4 1 2 3 4 3 3 1 4 4 2 1 4 2 +3 4 3 2 1 4 3 2 3 4 2 3 1 3 4 4 4 3 4 2 2 3 4 4 4 3 3 1 3 2 2 2 2 4 3 2 4 1 3 2 4 4 1 1 2 4 4 1 2 3 +2 3 2 2 2 1 4 4 1 3 2 3 4 3 2 2 4 1 2 2 3 1 1 3 1 2 2 4 2 3 3 4 2 4 1 3 4 4 3 4 2 4 2 1 2 4 2 1 4 3 +2 2 4 2 4 4 3 1 4 4 4 2 3 1 1 3 3 4 3 1 3 4 4 1 1 1 4 2 1 3 1 2 1 4 3 4 3 1 1 2 1 4 3 3 4 3 2 2 2 4 +3 1 3 2 1 3 3 4 1 3 2 1 1 2 4 3 2 2 4 2 4 4 1 2 2 4 1 3 1 2 2 3 2 1 1 2 3 3 1 3 1 3 3 1 4 2 4 1 4 3 +2 3 2 2 4 3 1 4 2 2 2 3 4 3 3 4 1 2 2 1 4 3 3 3 3 3 4 2 3 3 4 1 1 1 2 1 4 3 4 1 4 1 3 3 4 2 3 4 3 4 +4 2 2 3 4 1 1 4 2 3 2 2 3 3 2 1 3 1 3 2 1 2 3 4 4 2 1 2 1 3 2 4 4 3 2 4 3 2 3 1 1 4 2 3 2 3 3 4 4 1 +2 4 2 4 3 2 1 3 3 1 1 4 4 1 3 2 4 1 3 2 1 3 1 2 2 3 1 4 2 4 1 3 3 2 2 2 3 2 4 2 2 1 1 2 1 3 3 4 4 1 +1 4 4 1 2 1 3 2 4 1 1 4 3 3 2 1 4 4 2 4 1 4 4 2 1 4 4 3 3 3 3 3 3 2 3 4 2 2 1 2 2 1 1 4 3 2 4 3 2 2 +2 2 1 1 3 1 4 3 3 2 1 1 4 3 3 2 2 4 3 2 1 4 2 2 4 1 3 3 3 4 4 4 2 4 4 4 4 3 2 2 4 3 3 3 1 1 4 3 4 3 +4 1 2 2 2 1 2 4 4 4 4 3 3 1 3 2 4 2 4 2 4 3 4 2 1 4 2 4 2 1 2 2 1 4 3 2 4 4 2 3 3 1 2 1 1 4 2 4 1 1 +1 4 3 4 1 3 4 2 2 1 3 4 2 3 3 4 1 2 3 2 1 1 2 2 1 2 1 2 1 1 2 2 1 4 1 1 2 4 3 4 1 1 3 2 3 1 2 3 2 4 +4 2 1 1 3 1 2 3 3 3 4 4 4 4 4 4 4 1 4 2 4 4 2 2 1 1 2 2 3 4 2 3 1 2 3 4 2 1 2 4 3 1 4 2 4 3 1 4 3 4 +1 3 3 3 4 4 3 2 1 1 1 2 3 1 3 2 4 1 2 2 4 4 2 3 1 2 1 1 1 4 1 1 2 3 3 1 2 1 2 3 2 2 4 4 3 3 1 2 3 2 +3 2 1 1 1 1 2 1 2 2 4 2 2 1 4 1 2 2 1 3 4 2 1 3 2 3 1 2 4 3 4 3 1 4 3 1 1 4 1 2 1 1 3 2 1 2 2 2 3 3 +1 2 4 1 1 1 3 1 3 2 4 2 4 4 1 2 4 1 1 4 2 1 4 4 3 1 2 4 2 4 2 2 2 2 2 2 2 4 2 4 2 1 1 1 4 2 3 3 2 3 +3 4 4 2 3 2 2 4 1 4 4 3 1 1 4 3 2 1 2 3 1 3 4 1 4 3 2 2 2 4 4 4 3 3 1 1 4 3 1 1 2 4 3 2 4 2 4 1 2 2 +3 2 4 2 3 3 1 4 4 2 3 4 1 1 2 1 2 2 3 2 2 4 1 4 2 4 1 1 4 2 2 2 4 2 4 2 4 4 1 4 1 4 3 1 4 4 1 1 1 4 +2 2 3 2 1 4 1 1 1 4 3 2 2 2 3 1 3 3 4 3 2 4 2 4 4 2 3 4 2 4 3 4 1 2 1 2 1 2 2 1 1 4 3 2 1 1 2 3 3 1 +2 4 4 3 3 3 4 2 3 2 1 1 1 1 2 1 2 3 2 4 3 3 3 1 4 4 2 2 2 4 2 3 4 2 2 2 4 1 3 2 2 3 3 2 4 4 3 1 2 4 +4 1 2 3 1 2 2 2 3 3 2 4 2 1 1 3 2 1 3 1 2 1 3 4 2 2 4 4 3 1 4 2 1 1 4 2 2 1 3 4 4 4 4 1 4 4 3 2 4 1 +2 2 1 4 1 3 2 4 2 4 1 1 1 1 2 1 2 3 1 1 3 4 4 2 4 4 1 2 1 1 3 2 2 3 1 2 1 2 2 3 1 2 3 2 2 4 2 4 3 2 +4 1 2 3 2 1 2 2 3 2 2 1 3 3 3 4 1 4 1 2 2 2 3 4 3 4 4 4 3 2 1 2 2 2 1 3 3 2 4 1 4 2 1 2 4 3 1 4 2 2 +1 3 3 3 3 1 3 2 4 1 3 4 3 4 2 3 2 4 4 1 4 3 2 4 1 2 2 1 1 4 2 2 2 4 4 4 4 2 1 3 3 3 3 1 2 4 3 3 3 2 +4 2 1 1 1 1 2 2 1 3 1 3 4 3 2 3 2 2 1 3 4 3 1 2 3 3 1 1 1 3 2 4 4 2 1 4 2 2 2 3 4 2 1 3 4 2 2 2 3 2 +4 3 4 4 4 2 2 1 2 3 3 3 2 3 1 2 2 2 4 3 4 3 1 4 2 4 2 3 1 4 4 4 2 3 4 2 4 1 2 1 3 4 3 1 2 3 2 4 1 1 +2 4 4 2 4 1 2 1 3 2 4 2 2 2 4 1 3 3 1 4 3 4 3 1 4 1 4 1 4 4 2 1 3 1 3 2 1 4 2 3 1 2 4 2 3 3 2 1 1 3 +4 3 2 2 3 1 2 2 1 1 1 2 2 4 2 4 1 2 3 3 4 3 4 3 1 2 1 2 2 1 4 1 3 1 2 2 1 4 3 2 4 4 3 1 3 1 4 3 2 2 +1 2 1 4 4 1 1 1 2 2 1 2 2 4 2 4 1 3 3 3 4 2 2 2 3 4 2 2 3 4 4 3 1 4 3 4 4 3 4 1 1 1 2 2 4 4 1 4 2 3 +2 1 1 4 2 3 3 4 4 1 3 3 4 3 2 2 2 1 4 2 2 4 2 3 2 1 2 2 4 3 1 1 3 1 4 1 3 3 4 2 3 2 1 2 4 2 3 1 3 3 +2 4 2 3 2 3 3 4 1 2 2 1 3 1 1 2 1 3 4 4 4 3 1 4 4 4 2 3 4 4 1 2 3 2 4 4 1 3 3 1 4 1 1 2 1 1 4 1 3 3 +4 2 1 4 2 1 3 3 3 2 2 3 3 4 4 3 3 4 1 2 4 4 2 4 2 2 4 1 2 2 3 1 4 4 4 1 4 2 3 2 3 4 4 2 3 3 4 1 3 4 +2 2 3 3 2 4 4 1 4 1 3 3 1 2 2 4 2 1 1 4 2 4 3 1 1 1 3 4 1 1 3 3 3 1 1 4 1 1 4 4 1 2 2 2 3 3 1 4 3 2 +3 4 1 1 4 1 1 3 4 2 3 2 4 1 2 4 4 2 4 4 2 1 1 3 2 4 2 2 3 4 3 2 4 3 2 3 3 3 1 2 4 4 3 3 4 1 2 4 2 2 +3 3 2 3 2 3 2 3 4 1 2 3 2 1 1 3 4 4 1 4 1 4 3 4 2 3 4 4 2 1 1 4 4 2 2 1 4 4 3 3 4 4 1 1 1 2 3 4 1 4 +3 1 3 2 4 1 4 3 4 1 4 4 4 3 1 1 3 4 4 1 2 3 4 3 3 4 4 2 3 4 1 2 4 3 3 4 3 2 2 2 2 1 1 1 3 1 1 1 4 1 +1 2 3 1 4 2 4 3 3 3 2 3 4 1 1 2 4 4 3 2 1 4 2 2 4 1 2 4 1 2 4 2 3 3 2 2 4 1 4 2 3 1 4 2 1 4 3 1 3 1 +2 4 4 3 1 3 3 2 3 4 3 2 1 1 4 2 2 3 2 1 4 1 1 3 2 2 3 1 2 1 1 3 4 1 1 4 3 4 2 1 3 4 3 3 1 2 4 2 1 1 +3 4 1 3 3 3 4 1 3 1 1 3 3 1 3 4 4 2 3 1 2 1 1 4 3 1 2 2 2 2 2 4 1 3 3 3 1 2 3 3 3 4 1 1 4 4 4 3 1 2 +4 2 2 4 2 4 4 3 1 1 4 3 1 4 1 3 3 1 4 1 3 2 4 3 3 3 2 2 2 2 4 1 4 1 4 1 1 3 3 1 3 2 3 3 1 3 1 3 3 1 +4 1 2 3 4 4 2 1 2 3 3 1 3 2 1 2 2 1 4 4 2 2 1 4 1 1 3 1 4 1 1 3 2 3 1 1 2 2 1 3 4 3 3 2 4 4 3 1 4 2 +4 1 4 4 1 4 1 3 4 4 3 1 2 4 3 2 4 4 4 1 3 3 3 1 1 3 4 3 3 4 1 3 4 4 2 4 3 2 2 2 1 1 2 2 4 4 4 4 4 3 +4 2 1 2 2 1 4 2 4 3 1 4 1 4 3 2 4 1 4 1 2 4 1 4 2 1 3 1 4 2 3 3 3 3 4 1 4 4 2 3 2 2 2 2 1 4 3 4 4 2 +1 1 2 1 4 3 1 3 3 4 4 1 2 3 3 2 3 2 1 4 4 2 1 1 3 1 4 1 1 3 3 1 4 4 1 3 2 2 1 4 1 1 4 3 3 2 4 1 4 4 +4 3 1 4 4 3 4 3 3 4 2 1 4 1 4 1 3 1 2 4 4 2 4 3 4 2 1 3 2 4 2 1 2 2 4 1 4 3 4 3 3 1 3 2 1 3 2 3 3 3 +2 3 1 1 1 4 2 1 3 3 4 4 3 2 2 2 2 1 1 1 3 3 1 2 4 1 4 2 4 2 4 1 4 4 2 1 4 3 1 2 2 1 1 4 2 2 2 3 3 2 diff --git a/customTests/teste5.txt b/customTests/teste5.txt new file mode 100644 index 0000000000000000000000000000000000000000..0eb30891339fc086c9edc672aa20d8732f3bba6a --- /dev/null +++ b/customTests/teste5.txt @@ -0,0 +1,51 @@ +50 50 6 +1 2 3 6 4 1 1 4 2 4 5 4 4 6 6 4 3 4 4 3 3 3 6 6 2 2 3 3 1 4 4 1 5 1 6 1 5 4 4 6 6 6 1 3 5 6 1 1 1 2 +3 2 2 1 1 3 6 2 3 6 5 1 4 2 5 1 2 3 3 5 6 2 3 6 4 1 3 2 6 1 2 6 2 3 6 1 4 3 6 6 6 4 4 3 3 2 2 2 2 4 +5 1 5 1 4 6 1 6 6 4 1 5 4 6 5 1 4 2 4 3 6 1 5 3 2 1 3 3 3 2 4 5 3 6 5 6 5 3 4 2 1 4 6 4 1 3 4 5 2 5 +5 1 6 3 2 5 2 2 1 2 3 4 6 3 3 4 1 5 4 4 5 4 5 2 5 5 4 1 1 6 3 6 4 6 6 3 4 1 4 4 2 5 5 5 1 5 6 5 4 4 +2 2 1 4 3 4 1 5 4 1 4 6 4 5 6 4 2 3 2 3 5 2 1 1 6 6 6 6 4 3 1 4 2 1 1 2 2 1 6 5 6 1 3 3 6 6 4 5 2 4 +1 4 5 2 5 2 5 4 1 2 4 1 3 3 6 4 4 1 2 2 4 5 6 6 6 3 5 3 1 4 6 2 6 2 1 4 4 5 5 2 4 6 3 1 2 6 2 5 4 3 +4 1 2 2 4 1 4 2 1 5 4 5 4 3 6 2 6 3 4 2 5 1 1 5 1 2 2 2 4 5 3 6 4 2 1 1 6 4 1 6 6 4 2 1 6 2 6 3 2 3 +2 4 4 2 6 2 1 5 2 2 4 2 1 5 3 5 5 2 1 5 5 6 6 1 5 3 6 2 5 5 5 6 1 6 5 6 5 3 3 6 5 6 1 3 2 1 2 6 2 6 +3 5 3 6 5 1 3 2 3 1 4 5 5 4 4 1 2 2 4 4 6 6 1 4 6 2 5 1 1 4 6 1 6 3 1 2 1 1 3 1 5 1 5 3 2 6 2 3 6 3 +6 5 2 4 6 1 5 2 6 4 4 3 4 3 3 2 5 2 2 5 2 5 5 5 1 5 2 6 1 1 2 5 3 1 2 3 6 1 2 3 2 5 3 3 2 4 5 4 5 4 +2 4 2 5 6 1 3 2 4 1 2 4 5 3 2 5 5 5 5 4 1 6 3 2 6 2 5 2 5 1 6 4 2 5 2 2 3 2 1 5 3 6 2 1 2 3 5 4 2 1 +2 6 4 4 1 4 3 3 5 5 3 2 2 5 5 2 4 5 3 4 3 5 3 4 6 3 5 2 6 4 1 1 3 4 2 2 5 2 2 2 6 5 3 2 1 5 3 2 4 5 +3 6 2 3 2 5 5 6 6 5 3 6 3 3 2 5 2 4 6 4 5 4 6 6 3 4 4 5 5 1 1 5 1 2 1 2 6 6 5 4 2 5 1 4 1 6 6 1 4 4 +4 2 5 1 1 1 4 5 5 6 3 3 4 3 3 4 2 6 1 6 1 2 4 2 4 3 1 1 3 4 2 4 4 6 4 2 4 1 4 6 6 1 3 3 1 3 4 3 2 5 +6 1 4 4 2 5 4 6 4 6 2 3 3 5 1 4 4 4 2 2 4 5 2 4 5 2 6 2 2 5 4 2 5 6 3 6 2 6 4 5 3 5 2 3 1 6 6 4 3 1 +5 6 5 4 3 3 4 6 2 5 5 6 4 3 3 6 1 4 3 2 3 5 6 2 1 6 1 4 1 1 2 4 1 6 1 1 6 4 1 6 1 3 5 2 3 5 6 1 2 2 +2 4 5 5 3 3 4 1 1 3 2 2 6 6 6 6 6 3 2 4 2 6 6 4 1 1 2 6 1 2 6 3 5 4 1 6 6 3 6 4 5 1 4 2 6 1 1 4 1 6 +1 3 3 5 4 4 5 4 1 3 5 6 5 1 1 4 4 5 4 4 2 6 2 3 1 6 3 5 3 4 5 1 4 1 5 5 2 1 2 3 4 4 6 6 3 1 1 6 5 4 +1 4 3 3 1 3 2 3 6 2 4 2 2 1 6 5 6 2 5 5 2 6 1 5 4 3 3 4 6 1 2 1 3 2 1 1 3 6 1 2 1 5 3 2 3 2 4 2 1 1 +5 6 6 5 5 1 5 1 5 4 6 4 2 2 5 2 2 1 1 2 6 1 4 2 1 1 2 2 6 2 2 4 2 6 2 4 6 6 4 4 4 3 5 5 2 4 5 3 2 5 +3 2 4 4 1 2 4 6 3 4 2 3 1 1 2 1 4 5 6 5 1 1 2 5 4 3 6 6 4 2 2 4 1 3 1 5 4 5 5 5 6 4 5 4 2 6 4 3 4 2 +1 2 6 2 1 1 3 6 6 6 5 2 3 3 2 1 2 6 3 4 2 2 1 6 6 6 3 1 2 4 6 2 6 6 2 4 6 4 1 4 3 6 3 3 6 4 1 5 1 4 +2 6 3 6 5 6 5 5 1 4 3 6 6 6 3 1 3 1 4 3 4 4 6 4 4 6 5 4 2 6 5 4 5 2 1 2 1 4 6 5 1 6 5 6 5 5 4 5 5 5 +6 6 2 5 3 3 2 2 5 2 5 3 3 1 2 3 2 3 6 6 1 5 3 3 2 6 2 6 4 6 4 1 4 4 4 4 6 3 3 2 4 1 3 6 2 4 3 1 6 6 +4 5 2 1 1 4 6 6 3 1 4 4 6 1 1 3 4 5 5 1 6 3 5 2 6 4 4 2 3 1 6 6 5 1 4 4 2 1 1 4 2 4 2 1 4 6 1 6 4 5 +4 2 5 2 1 5 4 4 4 6 5 3 3 1 2 1 2 3 1 3 5 6 6 4 6 2 3 6 5 5 3 2 6 1 1 4 5 2 2 3 1 4 3 4 2 2 4 4 3 4 +4 1 4 1 4 1 6 4 5 4 2 1 3 5 5 2 3 4 3 2 4 4 3 4 5 2 6 2 5 2 3 6 2 4 1 3 3 6 4 5 2 6 3 4 2 1 5 2 2 6 +1 5 3 3 3 5 3 6 4 1 1 4 5 6 6 5 6 2 2 3 6 3 6 6 5 6 6 1 1 2 6 2 4 6 2 4 4 4 3 5 3 3 3 5 6 2 3 5 3 2 +6 6 3 3 5 1 2 2 5 3 3 3 2 5 2 1 2 4 3 5 2 3 5 2 1 3 3 1 5 3 2 4 6 4 1 2 2 2 4 1 2 4 1 1 2 2 2 2 3 2 +6 3 4 2 2 2 2 5 2 1 5 3 4 5 5 2 6 6 2 3 4 1 1 4 2 6 4 1 1 4 2 4 4 3 4 6 4 5 2 3 5 6 5 1 4 1 2 4 5 1 +4 6 2 4 4 1 2 5 1 2 6 6 4 4 6 1 1 3 5 2 5 4 1 1 4 5 6 3 6 4 4 3 3 3 5 4 3 6 6 1 5 6 6 2 1 5 2 1 5 1 +6 1 4 6 5 5 4 4 5 1 5 6 4 2 2 2 3 2 1 1 2 5 4 1 1 2 3 2 6 1 6 5 1 1 4 6 5 6 3 2 6 2 1 3 1 1 2 1 2 2 +5 4 5 2 4 3 3 1 2 2 5 2 6 6 2 2 5 5 5 5 6 4 4 4 5 2 4 6 1 6 2 5 3 4 5 4 6 1 2 1 1 1 2 4 4 2 3 6 4 1 +4 3 5 6 6 3 5 4 6 5 1 5 4 3 2 2 4 5 6 4 6 4 4 5 6 1 4 2 4 1 3 5 3 5 4 1 5 3 2 4 5 6 1 6 6 2 5 3 1 3 +6 4 6 1 6 3 5 4 5 2 4 5 1 5 1 2 3 3 2 2 4 1 1 4 6 6 4 3 6 2 5 4 5 2 4 2 5 3 5 1 2 1 5 2 3 3 2 5 5 3 +4 2 1 4 4 5 1 1 1 6 2 5 3 4 6 5 5 4 5 4 2 6 2 6 6 4 6 1 6 2 3 3 4 2 4 5 6 4 5 6 1 4 4 4 1 1 6 5 3 4 +6 4 3 5 2 2 2 1 6 1 3 3 1 4 2 4 2 1 1 4 6 2 1 1 3 5 1 2 1 3 5 5 5 1 3 6 1 5 6 6 3 6 6 4 1 1 1 6 1 6 +3 4 5 1 4 5 3 3 6 4 3 2 2 1 6 4 6 6 6 4 4 1 1 3 2 2 2 6 1 6 5 2 4 1 2 5 5 5 1 4 6 2 3 1 2 3 2 6 6 6 +1 3 4 1 6 5 2 5 4 1 4 1 2 1 1 1 4 6 3 2 1 2 3 2 6 3 4 6 2 3 3 6 6 6 6 3 4 6 1 5 4 2 5 5 3 4 3 4 1 6 +5 5 5 2 6 5 4 3 2 3 4 4 2 3 1 5 3 2 2 1 6 5 2 3 1 2 4 4 5 4 3 2 2 5 3 2 1 4 2 2 4 5 3 5 5 3 1 1 2 1 +5 6 5 5 2 6 6 5 1 3 6 1 4 1 5 4 6 6 1 2 5 4 6 2 6 5 2 4 3 4 4 2 3 1 6 2 4 3 4 4 3 3 4 4 1 6 1 1 5 5 +6 2 6 3 3 3 1 2 1 2 5 2 1 5 2 4 6 5 4 3 6 1 3 1 4 4 1 3 2 3 1 1 4 1 3 4 3 2 6 1 3 2 1 1 1 2 2 4 5 5 +5 2 3 1 3 1 2 1 3 3 1 3 3 5 1 6 6 2 5 5 2 5 5 2 5 5 2 6 6 4 2 4 5 5 5 5 5 6 3 5 1 4 5 3 6 4 6 5 5 4 +2 6 2 6 6 4 2 5 1 1 2 3 5 4 1 1 1 3 4 3 5 4 6 3 1 5 6 4 2 4 2 3 2 1 2 5 5 3 3 5 3 2 5 5 5 5 5 3 5 3 +6 3 4 5 4 4 2 3 6 3 5 5 5 4 5 4 2 1 4 2 4 6 3 2 3 5 5 5 2 3 1 1 4 3 3 1 6 2 1 3 4 5 1 6 6 4 3 5 4 6 +6 5 4 6 1 6 3 3 4 4 3 3 2 6 5 2 6 2 4 1 3 5 3 3 5 1 6 5 5 2 5 3 6 6 6 4 3 2 6 4 5 1 6 4 6 2 4 4 2 1 +2 4 3 4 4 1 2 4 6 1 5 2 1 2 1 6 6 3 2 3 6 4 3 4 6 1 3 3 4 4 1 5 5 3 6 3 4 6 4 1 4 2 2 4 1 2 3 4 2 2 +1 5 4 1 2 3 5 3 5 6 4 5 2 3 1 6 3 2 5 6 2 2 5 1 5 5 6 5 3 1 5 1 6 2 5 5 4 4 1 6 1 5 2 3 5 6 2 1 2 6 +6 1 5 2 2 1 6 5 3 6 6 1 4 3 2 3 1 3 4 6 6 4 2 1 4 6 1 5 4 6 2 1 6 6 2 5 6 5 4 3 5 1 1 2 3 1 2 1 3 5 +4 3 1 3 3 4 2 1 1 3 6 2 3 6 6 2 2 5 1 3 5 5 3 6 4 3 6 6 2 6 2 5 6 2 2 1 4 1 1 4 2 1 3 4 4 2 6 3 5 6 diff --git a/customTests/teste6.txt b/customTests/teste6.txt new file mode 100644 index 0000000000000000000000000000000000000000..883b8a161c3a39e7eb5d9f78f5763efb5ed6c60a --- /dev/null +++ b/customTests/teste6.txt @@ -0,0 +1,101 @@ +100 100 6 +1 2 3 6 4 1 1 4 2 4 5 4 4 6 6 4 3 4 4 3 3 3 6 6 2 2 3 3 1 4 4 1 5 1 6 1 5 4 4 6 6 6 1 3 5 6 1 1 1 2 3 2 2 1 1 3 6 2 3 6 5 1 4 2 5 1 2 3 3 5 6 2 3 6 4 1 3 2 6 1 2 6 2 3 6 1 4 3 6 6 6 4 4 3 3 2 2 2 2 4 +5 1 5 1 4 6 1 6 6 4 1 5 4 6 5 1 4 2 4 3 6 1 5 3 2 1 3 3 3 2 4 5 3 6 5 6 5 3 4 2 1 4 6 4 1 3 4 5 2 5 5 1 6 3 2 5 2 2 1 2 3 4 6 3 3 4 1 5 4 4 5 4 5 2 5 5 4 1 1 6 3 6 4 6 6 3 4 1 4 4 2 5 5 5 1 5 6 5 4 4 +2 2 1 4 3 4 1 5 4 1 4 6 4 5 6 4 2 3 2 3 5 2 1 1 6 6 6 6 4 3 1 4 2 1 1 2 2 1 6 5 6 1 3 3 6 6 4 5 2 4 1 4 5 2 5 2 5 4 1 2 4 1 3 3 6 4 4 1 2 2 4 5 6 6 6 3 5 3 1 4 6 2 6 2 1 4 4 5 5 2 4 6 3 1 2 6 2 5 4 3 +4 1 2 2 4 1 4 2 1 5 4 5 4 3 6 2 6 3 4 2 5 1 1 5 1 2 2 2 4 5 3 6 4 2 1 1 6 4 1 6 6 4 2 1 6 2 6 3 2 3 2 4 4 2 6 2 1 5 2 2 4 2 1 5 3 5 5 2 1 5 5 6 6 1 5 3 6 2 5 5 5 6 1 6 5 6 5 3 3 6 5 6 1 3 2 1 2 6 2 6 +3 5 3 6 5 1 3 2 3 1 4 5 5 4 4 1 2 2 4 4 6 6 1 4 6 2 5 1 1 4 6 1 6 3 1 2 1 1 3 1 5 1 5 3 2 6 2 3 6 3 6 5 2 4 6 1 5 2 6 4 4 3 4 3 3 2 5 2 2 5 2 5 5 5 1 5 2 6 1 1 2 5 3 1 2 3 6 1 2 3 2 5 3 3 2 4 5 4 5 4 +2 4 2 5 6 1 3 2 4 1 2 4 5 3 2 5 5 5 5 4 1 6 3 2 6 2 5 2 5 1 6 4 2 5 2 2 3 2 1 5 3 6 2 1 2 3 5 4 2 1 2 6 4 4 1 4 3 3 5 5 3 2 2 5 5 2 4 5 3 4 3 5 3 4 6 3 5 2 6 4 1 1 3 4 2 2 5 2 2 2 6 5 3 2 1 5 3 2 4 5 +3 6 2 3 2 5 5 6 6 5 3 6 3 3 2 5 2 4 6 4 5 4 6 6 3 4 4 5 5 1 1 5 1 2 1 2 6 6 5 4 2 5 1 4 1 6 6 1 4 4 4 2 5 1 1 1 4 5 5 6 3 3 4 3 3 4 2 6 1 6 1 2 4 2 4 3 1 1 3 4 2 4 4 6 4 2 4 1 4 6 6 1 3 3 1 3 4 3 2 5 +6 1 4 4 2 5 4 6 4 6 2 3 3 5 1 4 4 4 2 2 4 5 2 4 5 2 6 2 2 5 4 2 5 6 3 6 2 6 4 5 3 5 2 3 1 6 6 4 3 1 5 6 5 4 3 3 4 6 2 5 5 6 4 3 3 6 1 4 3 2 3 5 6 2 1 6 1 4 1 1 2 4 1 6 1 1 6 4 1 6 1 3 5 2 3 5 6 1 2 2 +2 4 5 5 3 3 4 1 1 3 2 2 6 6 6 6 6 3 2 4 2 6 6 4 1 1 2 6 1 2 6 3 5 4 1 6 6 3 6 4 5 1 4 2 6 1 1 4 1 6 1 3 3 5 4 4 5 4 1 3 5 6 5 1 1 4 4 5 4 4 2 6 2 3 1 6 3 5 3 4 5 1 4 1 5 5 2 1 2 3 4 4 6 6 3 1 1 6 5 4 +1 4 3 3 1 3 2 3 6 2 4 2 2 1 6 5 6 2 5 5 2 6 1 5 4 3 3 4 6 1 2 1 3 2 1 1 3 6 1 2 1 5 3 2 3 2 4 2 1 1 5 6 6 5 5 1 5 1 5 4 6 4 2 2 5 2 2 1 1 2 6 1 4 2 1 1 2 2 6 2 2 4 2 6 2 4 6 6 4 4 4 3 5 5 2 4 5 3 2 5 +3 2 4 4 1 2 4 6 3 4 2 3 1 1 2 1 4 5 6 5 1 1 2 5 4 3 6 6 4 2 2 4 1 3 1 5 4 5 5 5 6 4 5 4 2 6 4 3 4 2 1 2 6 2 1 1 3 6 6 6 5 2 3 3 2 1 2 6 3 4 2 2 1 6 6 6 3 1 2 4 6 2 6 6 2 4 6 4 1 4 3 6 3 3 6 4 1 5 1 4 +2 6 3 6 5 6 5 5 1 4 3 6 6 6 3 1 3 1 4 3 4 4 6 4 4 6 5 4 2 6 5 4 5 2 1 2 1 4 6 5 1 6 5 6 5 5 4 5 5 5 6 6 2 5 3 3 2 2 5 2 5 3 3 1 2 3 2 3 6 6 1 5 3 3 2 6 2 6 4 6 4 1 4 4 4 4 6 3 3 2 4 1 3 6 2 4 3 1 6 6 +4 5 2 1 1 4 6 6 3 1 4 4 6 1 1 3 4 5 5 1 6 3 5 2 6 4 4 2 3 1 6 6 5 1 4 4 2 1 1 4 2 4 2 1 4 6 1 6 4 5 4 2 5 2 1 5 4 4 4 6 5 3 3 1 2 1 2 3 1 3 5 6 6 4 6 2 3 6 5 5 3 2 6 1 1 4 5 2 2 3 1 4 3 4 2 2 4 4 3 4 +4 1 4 1 4 1 6 4 5 4 2 1 3 5 5 2 3 4 3 2 4 4 3 4 5 2 6 2 5 2 3 6 2 4 1 3 3 6 4 5 2 6 3 4 2 1 5 2 2 6 1 5 3 3 3 5 3 6 4 1 1 4 5 6 6 5 6 2 2 3 6 3 6 6 5 6 6 1 1 2 6 2 4 6 2 4 4 4 3 5 3 3 3 5 6 2 3 5 3 2 +6 6 3 3 5 1 2 2 5 3 3 3 2 5 2 1 2 4 3 5 2 3 5 2 1 3 3 1 5 3 2 4 6 4 1 2 2 2 4 1 2 4 1 1 2 2 2 2 3 2 6 3 4 2 2 2 2 5 2 1 5 3 4 5 5 2 6 6 2 3 4 1 1 4 2 6 4 1 1 4 2 4 4 3 4 6 4 5 2 3 5 6 5 1 4 1 2 4 5 1 +4 6 2 4 4 1 2 5 1 2 6 6 4 4 6 1 1 3 5 2 5 4 1 1 4 5 6 3 6 4 4 3 3 3 5 4 3 6 6 1 5 6 6 2 1 5 2 1 5 1 6 1 4 6 5 5 4 4 5 1 5 6 4 2 2 2 3 2 1 1 2 5 4 1 1 2 3 2 6 1 6 5 1 1 4 6 5 6 3 2 6 2 1 3 1 1 2 1 2 2 +5 4 5 2 4 3 3 1 2 2 5 2 6 6 2 2 5 5 5 5 6 4 4 4 5 2 4 6 1 6 2 5 3 4 5 4 6 1 2 1 1 1 2 4 4 2 3 6 4 1 4 3 5 6 6 3 5 4 6 5 1 5 4 3 2 2 4 5 6 4 6 4 4 5 6 1 4 2 4 1 3 5 3 5 4 1 5 3 2 4 5 6 1 6 6 2 5 3 1 3 +6 4 6 1 6 3 5 4 5 2 4 5 1 5 1 2 3 3 2 2 4 1 1 4 6 6 4 3 6 2 5 4 5 2 4 2 5 3 5 1 2 1 5 2 3 3 2 5 5 3 4 2 1 4 4 5 1 1 1 6 2 5 3 4 6 5 5 4 5 4 2 6 2 6 6 4 6 1 6 2 3 3 4 2 4 5 6 4 5 6 1 4 4 4 1 1 6 5 3 4 +6 4 3 5 2 2 2 1 6 1 3 3 1 4 2 4 2 1 1 4 6 2 1 1 3 5 1 2 1 3 5 5 5 1 3 6 1 5 6 6 3 6 6 4 1 1 1 6 1 6 3 4 5 1 4 5 3 3 6 4 3 2 2 1 6 4 6 6 6 4 4 1 1 3 2 2 2 6 1 6 5 2 4 1 2 5 5 5 1 4 6 2 3 1 2 3 2 6 6 6 +1 3 4 1 6 5 2 5 4 1 4 1 2 1 1 1 4 6 3 2 1 2 3 2 6 3 4 6 2 3 3 6 6 6 6 3 4 6 1 5 4 2 5 5 3 4 3 4 1 6 5 5 5 2 6 5 4 3 2 3 4 4 2 3 1 5 3 2 2 1 6 5 2 3 1 2 4 4 5 4 3 2 2 5 3 2 1 4 2 2 4 5 3 5 5 3 1 1 2 1 +5 6 5 5 2 6 6 5 1 3 6 1 4 1 5 4 6 6 1 2 5 4 6 2 6 5 2 4 3 4 4 2 3 1 6 2 4 3 4 4 3 3 4 4 1 6 1 1 5 5 6 2 6 3 3 3 1 2 1 2 5 2 1 5 2 4 6 5 4 3 6 1 3 1 4 4 1 3 2 3 1 1 4 1 3 4 3 2 6 1 3 2 1 1 1 2 2 4 5 5 +5 2 3 1 3 1 2 1 3 3 1 3 3 5 1 6 6 2 5 5 2 5 5 2 5 5 2 6 6 4 2 4 5 5 5 5 5 6 3 5 1 4 5 3 6 4 6 5 5 4 2 6 2 6 6 4 2 5 1 1 2 3 5 4 1 1 1 3 4 3 5 4 6 3 1 5 6 4 2 4 2 3 2 1 2 5 5 3 3 5 3 2 5 5 5 5 5 3 5 3 +6 3 4 5 4 4 2 3 6 3 5 5 5 4 5 4 2 1 4 2 4 6 3 2 3 5 5 5 2 3 1 1 4 3 3 1 6 2 1 3 4 5 1 6 6 4 3 5 4 6 6 5 4 6 1 6 3 3 4 4 3 3 2 6 5 2 6 2 4 1 3 5 3 3 5 1 6 5 5 2 5 3 6 6 6 4 3 2 6 4 5 1 6 4 6 2 4 4 2 1 +2 4 3 4 4 1 2 4 6 1 5 2 1 2 1 6 6 3 2 3 6 4 3 4 6 1 3 3 4 4 1 5 5 3 6 3 4 6 4 1 4 2 2 4 1 2 3 4 2 2 1 5 4 1 2 3 5 3 5 6 4 5 2 3 1 6 3 2 5 6 2 2 5 1 5 5 6 5 3 1 5 1 6 2 5 5 4 4 1 6 1 5 2 3 5 6 2 1 2 6 +6 1 5 2 2 1 6 5 3 6 6 1 4 3 2 3 1 3 4 6 6 4 2 1 4 6 1 5 4 6 2 1 6 6 2 5 6 5 4 3 5 1 1 2 3 1 2 1 3 5 4 3 1 3 3 4 2 1 1 3 6 2 3 6 6 2 2 5 1 3 5 5 3 6 4 3 6 6 2 6 2 5 6 2 2 1 4 1 1 4 2 1 3 4 4 2 6 3 5 6 +6 3 2 6 6 5 3 5 4 4 3 4 6 2 3 5 2 6 4 3 1 5 1 4 6 4 5 3 4 3 2 3 4 1 3 3 6 3 6 1 4 2 4 3 3 5 2 3 4 5 3 3 1 3 6 6 4 2 3 1 3 2 2 6 3 2 6 6 4 5 4 1 4 6 1 5 4 6 1 5 2 3 1 2 3 6 2 4 6 4 4 2 3 3 5 5 4 4 2 1 +1 6 5 4 3 6 6 6 3 6 4 5 6 5 6 6 2 5 3 5 6 5 6 3 1 2 5 5 4 1 3 4 4 2 5 6 5 5 3 1 2 4 3 6 6 1 5 6 5 2 4 5 6 2 5 4 3 3 2 4 1 5 5 2 4 4 5 6 6 1 4 5 3 1 4 2 1 1 5 3 6 3 5 3 4 3 6 4 4 2 2 2 4 6 4 5 1 6 2 4 +5 5 3 1 3 4 6 3 4 5 6 3 5 4 5 2 5 3 3 6 2 2 1 3 2 2 1 6 2 6 4 6 4 4 4 1 1 1 1 5 5 6 5 1 2 2 2 4 4 3 3 5 4 3 5 3 5 3 3 4 2 6 1 5 3 4 3 1 4 4 5 1 1 2 1 6 3 1 3 4 1 5 6 4 6 4 1 2 6 1 5 5 4 3 3 4 4 4 4 5 +5 1 5 5 2 4 3 2 2 5 3 2 2 2 3 5 3 1 6 6 1 2 4 4 4 4 1 1 1 5 3 5 5 2 2 4 3 2 5 2 6 1 3 5 6 5 3 6 4 6 5 4 1 2 2 2 3 6 6 2 4 3 6 6 2 5 3 2 6 5 3 4 3 3 6 2 5 1 1 2 6 3 6 5 2 5 4 5 4 4 6 6 4 3 5 3 6 6 4 5 +4 4 6 1 6 6 6 4 6 5 6 3 1 3 1 3 1 5 1 4 6 4 3 1 6 6 3 5 5 4 2 6 5 1 4 4 4 4 1 1 2 4 4 6 6 2 2 6 4 6 2 3 3 4 1 3 3 3 5 5 4 6 5 2 5 2 3 2 3 2 1 2 5 4 2 3 3 1 2 1 1 1 1 3 5 2 3 5 2 6 2 6 5 6 5 1 5 2 1 6 +3 1 1 5 2 6 1 4 5 1 4 5 1 5 5 3 4 6 6 5 5 1 4 1 6 1 2 2 2 6 1 2 6 6 6 1 3 5 2 1 5 4 5 3 2 2 6 3 1 5 1 3 5 3 3 2 3 2 3 2 1 2 1 4 1 6 2 3 2 4 2 4 1 4 1 6 5 4 2 3 2 2 3 4 2 4 3 4 5 5 3 4 4 3 1 4 1 3 5 2 +4 4 6 4 1 4 1 4 1 6 6 6 1 3 3 3 4 5 4 2 1 5 3 5 1 2 6 5 2 2 5 5 5 2 6 4 5 6 1 3 5 6 2 3 6 4 3 3 6 5 3 4 3 3 2 1 4 6 6 5 1 2 1 4 3 6 1 5 5 1 1 1 4 2 4 2 3 4 2 2 2 2 3 4 5 5 3 6 4 6 5 2 1 3 3 3 3 3 5 5 +3 5 6 5 4 1 6 6 4 1 5 6 3 1 1 5 3 3 4 4 2 6 6 2 3 2 2 3 3 4 1 3 2 6 1 3 6 4 2 4 5 4 1 5 3 1 1 5 2 4 3 1 2 6 1 2 5 2 4 5 4 4 2 3 4 6 6 1 4 5 2 2 3 6 4 3 5 4 1 6 5 1 6 6 4 6 1 1 6 4 5 3 6 4 3 1 4 2 1 1 +1 1 6 1 6 3 3 4 4 1 3 2 6 1 2 1 4 6 5 1 2 2 3 1 5 4 1 2 5 5 6 3 3 5 1 3 1 3 6 4 2 1 6 5 5 5 3 2 2 2 3 3 3 3 1 5 6 5 5 3 2 4 5 4 3 6 6 3 6 4 5 5 2 2 1 6 4 4 5 5 3 5 6 3 6 6 1 3 3 5 5 4 3 2 1 3 1 5 3 4 +6 1 1 5 6 1 2 3 2 6 6 4 3 5 4 2 2 5 4 4 1 1 5 1 2 4 3 6 6 6 1 5 4 1 3 4 6 4 4 1 1 1 5 1 5 6 2 5 2 4 6 3 2 3 1 1 6 4 6 5 1 4 1 4 5 1 5 4 4 1 2 2 1 6 3 4 4 2 6 5 3 5 1 4 1 6 4 4 1 1 2 1 5 6 2 1 6 5 4 1 +5 5 3 3 3 3 6 4 4 5 2 1 2 1 2 2 6 6 4 6 6 5 4 2 5 5 2 4 1 3 3 5 6 5 2 6 1 5 3 2 2 4 6 3 2 2 2 1 5 5 6 2 2 3 4 4 6 3 5 6 4 1 3 3 5 2 6 3 6 2 3 1 3 2 1 5 1 3 3 3 5 3 5 6 3 6 3 6 6 2 6 3 2 6 5 5 1 2 1 4 +1 1 3 4 1 3 6 1 3 2 2 2 2 6 5 3 3 2 2 2 1 5 5 2 4 1 6 2 3 5 6 3 5 6 4 3 2 1 4 3 3 5 4 2 2 2 4 4 1 4 3 1 6 5 1 4 6 6 3 6 2 6 6 5 5 4 1 1 4 2 1 4 4 4 4 5 3 5 6 4 2 1 2 6 5 2 1 2 6 3 1 1 3 1 3 1 2 4 5 3 +5 5 5 1 6 2 5 3 4 3 4 4 1 3 3 5 5 3 1 4 5 5 2 5 5 5 6 4 6 2 1 2 5 3 2 4 2 5 4 5 1 5 2 1 2 2 3 6 4 1 1 1 6 2 3 4 4 6 6 3 2 4 5 6 6 6 1 1 4 5 3 2 3 3 6 4 4 3 1 6 3 5 4 2 1 6 4 4 6 1 5 5 4 3 4 3 6 4 1 4 +6 3 5 3 5 3 4 1 5 3 4 5 1 1 5 5 4 6 1 3 6 5 1 3 5 2 3 4 6 1 1 5 3 4 5 6 6 1 4 2 3 1 4 1 1 2 6 4 5 6 5 4 2 5 4 6 5 4 3 4 4 2 6 5 5 3 2 2 3 5 1 3 3 4 3 1 4 6 2 2 3 6 4 2 3 1 1 1 3 2 2 4 1 5 2 3 1 1 4 1 +5 2 3 1 5 4 5 2 1 1 2 2 6 5 3 6 3 2 4 5 1 5 3 1 4 2 3 2 3 4 3 5 5 3 4 1 4 2 1 3 2 2 4 6 4 4 5 6 5 3 3 5 5 5 3 6 4 5 2 6 6 2 3 4 2 6 3 4 1 3 6 1 2 1 4 5 2 2 2 1 2 4 3 5 6 4 4 4 6 3 1 6 2 3 1 2 2 3 5 1 +3 2 5 4 6 2 6 1 1 2 5 1 5 6 5 5 3 6 6 2 1 6 5 6 3 6 1 2 6 3 2 1 2 4 4 5 5 2 6 6 3 2 6 5 5 4 1 1 1 6 1 1 6 3 1 6 2 5 1 6 2 1 6 3 4 1 2 1 2 5 6 2 4 5 5 3 6 5 1 4 3 5 5 6 2 3 5 1 1 3 6 2 1 3 3 5 4 2 5 3 +4 2 5 5 4 3 5 1 5 6 4 1 2 6 4 3 2 2 2 1 3 1 6 3 4 2 1 5 1 3 1 2 2 3 1 5 5 5 5 2 2 1 6 4 6 4 4 6 5 5 6 1 4 5 2 5 5 6 3 5 3 1 5 2 4 5 1 6 1 3 1 3 1 1 4 1 2 1 6 4 4 3 3 5 1 4 1 3 3 1 2 3 1 6 5 4 2 3 2 2 +5 2 2 6 6 5 4 5 4 1 3 5 3 5 3 1 2 3 4 4 1 3 5 1 6 3 3 5 5 4 6 3 3 2 6 1 4 1 5 5 1 5 3 1 3 3 6 2 3 3 4 3 3 2 4 6 4 6 4 6 1 3 6 1 2 6 1 4 6 4 2 5 2 5 5 3 1 2 4 4 4 5 4 4 6 1 3 1 4 6 6 2 1 6 3 6 3 1 3 6 +4 5 2 4 3 1 6 1 6 1 2 2 4 6 5 1 4 2 2 2 5 5 3 3 2 3 3 4 4 5 2 5 3 3 2 3 3 5 2 1 4 3 2 1 6 6 1 4 5 6 5 2 5 5 4 6 6 6 2 3 5 3 1 5 5 1 2 6 5 3 6 6 3 1 6 3 6 5 6 3 4 2 4 2 4 1 6 3 1 1 3 3 3 2 1 1 2 6 6 4 +6 3 4 1 3 1 3 1 5 6 3 3 5 4 2 2 4 1 3 2 5 3 2 1 2 1 6 3 4 3 5 4 6 6 4 6 6 4 6 5 1 6 5 5 3 6 4 5 5 6 4 3 1 6 2 2 4 5 3 1 1 5 2 4 4 3 2 3 6 5 5 6 5 3 4 5 1 6 3 5 3 5 5 3 2 6 3 5 4 5 5 3 1 1 4 4 3 5 4 1 +4 1 6 6 1 2 4 1 1 5 3 1 3 2 4 4 1 6 2 5 2 4 5 2 4 2 3 5 1 4 5 2 4 2 1 5 1 4 3 1 2 6 2 2 1 3 5 5 6 4 1 5 2 5 4 3 1 4 1 5 1 5 6 5 1 6 1 1 1 3 6 3 6 5 4 4 5 1 3 4 2 3 6 3 6 3 6 4 6 4 2 4 3 5 2 1 4 6 5 2 +1 2 4 6 4 6 2 2 4 4 3 5 4 2 6 1 2 3 4 5 6 3 3 6 5 2 4 6 6 3 2 6 2 5 3 6 2 4 5 3 5 2 2 1 1 5 1 1 1 3 3 6 3 5 4 2 5 1 1 4 1 2 1 3 5 3 2 6 5 6 1 1 5 2 1 4 4 6 4 4 6 6 1 2 3 4 3 1 3 4 2 3 3 2 5 1 2 4 5 4 +2 5 3 4 4 3 1 1 6 2 2 5 6 2 1 2 4 1 6 4 2 1 6 5 6 3 3 5 4 1 1 3 3 3 1 4 3 5 4 3 1 3 1 6 3 5 5 4 6 4 1 1 2 4 5 5 6 2 1 2 6 1 4 3 1 2 4 4 1 6 4 5 2 4 2 4 1 6 5 4 1 5 4 2 3 1 4 6 6 4 1 3 3 3 3 3 4 1 4 2 +6 1 6 1 3 1 3 3 4 1 6 4 4 1 3 4 1 6 3 4 2 2 1 4 4 3 4 5 3 2 1 2 6 4 1 2 3 1 2 6 5 1 4 2 6 6 5 4 4 6 2 5 5 6 6 2 2 1 4 3 6 4 2 6 6 2 5 2 2 1 1 5 5 4 6 4 2 3 2 3 6 1 5 4 6 4 5 1 2 6 1 2 4 3 5 3 2 3 4 4 +3 2 2 6 6 5 3 5 5 2 1 4 2 5 1 5 6 3 4 5 3 4 4 4 6 2 4 2 3 1 3 5 6 2 4 3 4 5 1 3 6 5 6 6 1 1 4 4 1 1 3 3 5 6 6 2 6 3 3 2 1 3 6 1 2 2 1 6 4 2 2 1 4 5 6 5 3 2 6 4 2 2 6 4 6 4 4 5 4 4 6 3 1 3 1 2 4 1 1 5 +6 6 6 4 5 3 6 1 4 5 4 4 5 2 5 4 3 2 2 6 6 5 6 4 1 6 5 3 5 4 1 4 1 4 5 5 1 2 6 4 5 1 5 3 6 4 4 2 5 3 6 2 1 5 5 1 3 2 1 1 3 2 2 3 5 5 2 5 6 5 1 2 3 5 2 3 6 5 4 5 5 1 4 3 4 3 4 6 4 2 4 4 3 3 6 6 1 5 2 5 +3 2 6 4 5 2 6 4 4 1 6 3 2 4 5 5 4 6 2 5 2 5 2 2 5 1 1 6 4 3 4 4 2 3 1 4 2 6 6 6 5 5 6 4 6 4 6 3 2 1 5 3 3 6 2 1 5 3 4 2 3 1 5 4 2 6 6 3 3 5 6 5 1 5 2 5 1 1 5 2 5 4 2 5 3 3 6 5 3 3 6 5 2 3 1 1 6 6 1 2 +2 1 5 2 3 6 6 3 5 5 2 1 6 1 6 2 4 3 1 6 3 4 3 4 6 3 2 5 6 3 5 1 1 3 6 3 6 4 4 2 6 3 1 5 4 6 6 5 2 4 2 2 2 4 4 5 4 5 4 1 1 6 1 5 6 5 6 5 2 1 5 1 3 5 3 4 2 6 6 1 4 2 2 3 3 5 1 5 4 2 5 2 1 4 1 4 2 4 3 1 +4 5 5 4 3 1 2 2 6 5 2 3 6 3 3 1 2 2 5 3 3 3 4 2 6 2 5 1 5 5 5 6 1 3 4 1 3 3 2 3 1 3 3 5 6 6 5 5 1 3 1 1 3 4 6 3 4 3 1 6 5 6 6 6 2 1 6 5 1 2 5 1 2 1 5 1 4 1 5 2 3 5 3 4 1 6 6 2 2 6 1 5 3 4 4 5 4 1 1 2 +2 5 3 4 3 5 2 1 4 5 2 4 1 2 1 1 2 6 6 1 4 1 3 6 2 6 2 4 1 6 5 6 4 1 1 5 4 1 5 1 5 4 4 5 6 5 4 5 2 3 3 5 3 6 3 3 3 2 6 1 2 4 1 3 5 5 1 6 5 3 6 1 1 1 6 6 3 3 2 5 3 4 1 4 1 1 6 4 3 5 4 2 2 2 2 4 5 3 3 1 +5 6 2 3 5 1 6 1 1 1 3 3 5 4 4 3 4 3 6 4 1 2 3 1 1 5 4 5 5 5 6 1 4 1 4 2 5 3 1 3 4 3 3 6 6 1 2 2 1 2 3 2 1 6 6 1 4 3 6 2 1 3 2 3 1 3 2 3 6 2 5 1 5 5 6 2 3 1 1 4 6 2 3 6 1 2 5 2 4 4 1 3 4 6 5 4 3 6 6 6 +6 2 6 2 4 5 1 1 3 2 2 3 3 4 6 1 5 4 2 6 5 6 6 2 3 4 5 5 2 2 2 5 1 1 6 5 3 6 5 6 5 6 6 5 1 3 5 5 1 4 2 3 1 2 5 4 3 1 6 2 3 2 6 1 2 3 5 3 1 3 2 3 6 1 2 6 3 4 2 1 2 2 4 2 3 6 3 3 6 3 3 6 4 2 1 3 3 3 5 1 +6 6 3 3 4 4 1 5 2 2 3 1 3 4 6 3 3 3 4 1 5 6 6 2 5 4 4 5 1 1 5 4 6 2 4 2 5 4 4 4 4 6 4 4 4 4 1 6 4 2 6 2 5 4 1 3 5 2 6 3 2 4 6 6 5 2 1 2 5 2 3 2 1 5 6 2 6 4 2 3 3 5 4 1 6 2 1 3 3 6 5 5 2 3 2 4 4 6 3 6 +1 6 2 1 4 5 1 1 2 6 3 2 4 4 2 2 5 6 4 5 4 6 3 5 2 2 2 3 1 5 3 1 2 4 6 3 6 6 3 5 5 5 6 6 6 1 5 2 4 2 6 1 6 1 5 1 2 5 4 3 1 4 3 2 1 6 4 6 5 6 2 1 2 1 1 5 5 3 6 2 5 5 3 2 5 5 2 1 3 3 3 3 6 3 4 4 3 5 1 5 +2 2 4 1 2 2 5 4 4 4 6 6 3 6 1 5 4 1 5 1 3 5 1 1 2 5 2 2 1 1 4 3 6 1 3 6 2 6 3 6 3 2 5 3 1 4 2 5 4 4 3 4 3 3 2 4 5 4 3 6 4 6 6 1 1 6 6 2 5 3 5 6 4 2 6 3 5 1 5 2 3 5 5 5 1 1 6 4 2 2 1 3 1 6 3 5 3 3 1 6 +5 3 5 6 4 4 6 2 3 4 3 5 2 6 1 1 4 6 4 5 1 2 1 5 1 1 4 1 3 2 6 5 4 2 5 2 4 4 3 6 6 4 2 5 1 6 5 4 5 6 2 5 1 6 3 5 6 4 6 1 5 5 5 3 1 1 4 2 3 4 1 2 5 6 6 5 5 3 2 1 2 1 3 1 6 3 5 4 1 4 4 5 1 6 1 5 1 2 6 3 +4 4 2 6 1 5 5 3 1 4 3 3 5 5 1 2 5 5 5 5 1 6 4 1 6 2 3 6 2 6 6 3 1 5 2 1 3 4 1 4 2 3 4 4 5 4 5 1 2 2 6 2 1 1 6 6 6 6 3 1 5 6 3 5 4 3 3 1 6 3 4 1 3 5 4 5 2 1 6 1 2 5 1 2 3 6 6 2 4 2 1 6 6 1 5 3 3 5 3 1 +2 4 5 2 2 3 1 3 1 6 2 2 2 2 1 2 5 6 3 2 6 1 2 5 2 4 1 2 2 2 2 1 5 1 3 1 1 3 1 5 6 2 4 5 3 4 4 6 2 4 1 5 5 6 3 4 3 1 3 3 6 3 3 5 1 3 3 1 3 1 3 6 1 6 2 3 3 5 2 2 3 1 6 1 6 6 2 1 5 4 3 4 6 3 6 6 4 6 4 6 +1 6 6 1 3 1 1 6 4 1 5 6 5 5 4 2 2 5 2 6 6 2 2 6 3 5 3 6 5 5 5 3 2 2 1 5 1 1 2 4 5 6 3 3 4 4 5 4 2 4 3 5 6 2 2 6 1 5 5 5 1 1 1 2 1 1 6 1 5 1 2 2 1 2 2 2 5 6 5 4 2 6 2 1 1 4 4 1 6 2 3 6 6 1 1 6 5 5 4 2 +5 3 3 3 4 4 3 6 2 1 1 3 4 1 1 3 2 4 1 1 3 4 4 2 2 4 6 1 2 3 2 5 4 2 1 1 5 3 5 4 2 5 6 3 3 6 5 4 1 6 4 3 3 1 5 4 3 4 2 2 4 3 4 1 2 3 6 1 5 2 4 4 4 2 1 1 5 5 4 6 2 6 2 4 4 4 6 6 5 1 6 3 2 3 1 3 5 4 1 2 +5 3 3 3 2 3 1 6 6 4 3 5 3 3 1 5 6 6 4 5 4 1 5 3 4 3 4 6 1 2 1 5 2 2 5 3 2 5 3 5 3 3 4 3 5 4 1 5 1 3 1 4 3 3 5 4 5 6 2 5 1 6 4 3 1 6 5 3 5 5 1 5 2 4 5 6 1 6 2 1 6 6 3 6 2 5 2 1 4 3 5 4 2 6 6 3 6 3 3 4 +5 3 2 6 5 6 4 5 3 3 4 6 3 4 4 4 2 5 2 5 5 1 6 4 4 4 4 3 4 6 4 2 3 3 6 1 1 3 3 1 3 4 1 5 1 2 1 6 6 2 4 2 6 2 5 4 5 3 4 2 2 2 1 2 4 6 6 4 6 3 5 3 6 3 5 5 4 5 4 1 5 6 6 2 1 4 5 3 4 3 2 6 2 2 5 3 2 5 1 1 +5 3 1 2 3 6 6 4 4 2 2 6 1 1 2 5 4 4 1 2 4 6 5 5 1 1 2 6 5 6 5 3 6 5 3 2 4 2 3 6 3 4 3 1 4 4 5 5 2 3 4 5 2 6 2 1 1 3 4 3 6 6 6 5 3 6 4 6 1 6 3 2 1 4 6 2 1 5 4 6 5 6 3 5 5 2 3 3 4 4 6 1 4 3 5 6 2 6 3 6 +3 4 1 3 1 5 2 5 1 5 5 5 4 5 3 1 6 3 3 1 1 2 1 4 4 3 1 3 2 3 3 2 6 1 2 6 5 3 3 5 1 5 4 3 3 4 3 6 5 5 4 5 1 4 2 2 4 2 5 3 2 1 4 6 5 5 3 4 1 5 6 5 3 3 1 3 5 3 2 3 6 5 5 4 6 4 5 1 3 1 3 4 5 6 3 4 2 6 5 6 +4 4 5 5 5 3 1 3 4 1 3 3 3 1 6 3 4 2 1 6 3 4 1 5 1 4 2 3 1 6 6 2 4 4 6 2 5 1 2 2 1 2 2 1 2 5 1 3 6 2 6 6 5 4 5 3 1 4 5 5 4 5 1 5 6 6 6 2 4 5 3 2 6 2 3 5 6 3 1 4 4 4 3 6 1 5 3 6 3 5 4 4 1 4 6 1 2 3 6 5 +1 3 1 6 2 3 4 2 5 2 3 1 3 3 6 3 2 2 6 2 1 4 3 5 5 2 3 6 4 3 3 4 3 3 1 4 5 2 3 1 1 5 1 3 2 5 3 3 6 3 2 4 4 4 3 6 3 5 4 6 1 6 1 3 6 1 5 2 2 1 2 6 6 1 2 1 5 2 1 2 4 6 4 5 1 6 3 3 2 4 2 1 3 2 1 6 6 5 1 5 +4 2 4 3 6 3 1 2 4 5 4 6 2 1 2 2 4 4 4 3 1 3 1 1 2 2 6 1 4 6 3 1 6 4 1 3 6 5 5 1 1 6 6 2 4 2 3 1 3 4 1 2 6 2 2 1 3 6 5 4 3 5 3 6 2 3 3 5 6 5 6 6 4 5 2 1 4 2 5 1 6 5 2 5 6 1 4 6 6 6 2 1 5 4 6 4 6 6 3 3 +4 2 3 1 4 2 1 2 3 3 6 6 2 5 3 5 3 6 3 1 3 4 1 1 5 6 3 2 4 5 5 1 6 1 2 1 6 6 6 2 1 5 2 2 1 2 4 4 5 4 4 1 1 2 6 5 5 2 1 2 6 3 3 3 3 2 1 2 5 1 1 5 3 6 4 4 1 2 1 5 5 2 4 4 1 3 6 5 4 4 1 1 6 1 1 6 6 1 5 4 +1 4 1 4 1 4 5 2 3 3 4 6 4 1 1 2 1 6 6 2 2 6 2 5 4 6 3 3 1 1 1 5 2 5 6 3 2 4 4 3 4 5 2 5 4 2 6 4 5 6 6 4 3 5 3 1 5 3 3 3 3 1 1 5 5 5 1 5 6 2 1 4 4 6 2 1 1 2 3 3 1 2 5 1 4 1 1 2 3 2 4 3 6 3 5 3 5 3 1 4 +2 5 1 6 4 1 4 2 2 6 2 6 5 6 6 3 4 5 2 4 6 4 1 3 6 3 5 2 6 3 5 5 1 4 4 2 4 2 3 3 5 5 2 4 2 1 4 6 3 5 3 6 2 1 3 5 2 5 6 1 2 5 3 6 6 1 2 3 6 4 5 4 6 4 5 6 2 2 5 5 5 5 4 4 4 6 3 5 3 2 3 4 4 5 3 1 5 4 3 2 +6 5 6 3 2 2 2 4 2 4 2 6 3 3 3 6 3 3 2 5 3 4 6 6 2 2 5 1 4 1 6 1 4 5 3 5 5 3 2 6 4 1 5 4 4 5 1 4 2 2 6 4 5 5 1 1 4 5 5 5 4 4 5 1 1 6 3 5 2 5 4 3 5 6 1 6 2 1 3 3 3 2 4 1 4 3 5 6 5 3 4 2 5 3 6 5 2 3 1 1 +5 2 3 1 1 3 1 6 2 3 1 4 3 4 2 4 4 1 3 3 1 1 4 5 3 2 3 2 4 1 6 2 2 2 2 6 3 2 6 2 3 6 5 3 1 4 6 5 4 1 1 5 1 2 1 1 3 2 6 4 2 5 5 4 4 5 3 4 4 2 5 6 5 1 6 6 5 4 4 6 4 2 2 2 3 3 6 4 4 5 1 3 3 4 6 4 2 1 2 5 +6 6 3 5 5 6 2 3 3 3 2 4 4 4 5 4 4 2 5 5 6 6 1 6 1 1 4 2 5 5 4 4 2 4 6 6 4 1 6 4 3 6 2 4 1 4 2 4 6 4 2 3 3 2 3 3 6 6 2 4 2 4 6 1 1 5 5 4 6 4 6 6 1 1 4 1 2 3 2 5 6 3 2 1 3 4 1 6 1 3 2 6 6 1 6 4 5 2 2 4 +4 5 2 4 5 5 5 4 5 6 3 2 1 4 2 1 5 3 6 5 3 1 2 6 1 5 1 4 1 2 5 4 6 6 1 2 2 3 6 6 1 6 2 1 3 1 1 5 1 6 1 1 5 2 4 5 6 5 2 4 4 1 5 2 4 4 3 6 6 6 3 6 3 4 4 3 3 4 1 3 2 1 2 6 2 5 2 6 3 2 1 5 6 6 6 3 3 6 2 6 +4 5 4 6 6 1 3 2 3 3 3 4 2 2 3 1 6 4 6 1 5 5 5 2 4 2 5 4 1 6 1 4 2 4 2 2 3 4 1 5 4 1 2 5 2 4 6 6 5 3 6 2 1 2 3 4 3 1 5 1 5 6 5 4 3 4 5 3 1 4 1 4 4 2 1 4 3 6 3 6 6 6 1 1 5 1 2 5 6 1 5 2 6 1 5 6 4 2 3 4 +5 1 6 6 3 4 3 5 1 3 4 6 2 2 6 4 3 2 2 6 6 1 1 3 1 5 6 3 6 6 4 2 1 1 2 3 4 2 5 4 5 1 4 4 2 1 2 2 6 3 5 5 1 5 5 6 2 5 2 5 4 5 1 4 4 2 4 1 1 3 5 5 1 6 1 6 4 2 2 4 2 6 6 1 3 5 6 4 3 5 2 4 1 6 6 4 1 3 3 6 +3 1 2 3 4 2 1 1 1 2 2 1 5 2 1 5 4 4 6 4 6 2 1 4 1 6 2 6 1 4 3 3 2 4 4 3 6 4 1 4 3 3 4 5 2 4 4 5 5 1 6 4 6 6 2 1 4 1 4 4 2 4 4 1 1 5 3 6 2 3 2 2 3 5 5 2 1 6 4 5 6 3 1 6 3 6 4 4 6 5 1 5 2 4 5 2 1 1 6 2 +1 1 2 2 5 6 3 5 5 1 2 2 1 2 1 3 1 4 4 4 6 4 2 1 6 4 3 6 2 6 5 2 6 4 1 2 1 2 5 3 2 4 5 6 5 5 1 3 1 4 4 6 2 3 5 5 6 1 2 1 4 4 6 1 2 1 6 2 6 4 5 1 1 3 6 3 5 4 3 3 2 6 1 1 2 5 5 1 3 4 5 4 1 5 4 2 3 3 2 2 +5 6 6 5 6 3 6 2 1 2 3 2 2 3 2 3 5 4 2 5 1 6 2 1 2 5 1 2 5 2 3 3 1 6 2 4 3 5 5 1 6 5 6 1 1 5 2 3 2 3 1 2 6 6 6 6 2 6 1 1 5 2 3 5 1 2 6 1 6 3 5 6 1 4 4 6 2 5 6 3 5 1 2 3 4 6 2 6 3 2 6 2 1 6 4 2 2 4 6 5 +4 5 4 4 2 6 1 2 4 1 2 1 5 4 3 2 1 4 1 3 3 4 2 4 4 6 3 3 1 2 1 4 4 3 5 6 2 6 5 3 4 6 3 2 1 5 3 1 6 2 2 1 3 3 2 6 6 4 2 6 3 1 1 1 3 4 4 2 3 2 4 6 1 1 5 6 3 1 6 1 6 5 1 3 6 2 6 5 5 6 3 5 6 3 5 6 4 2 1 6 +1 4 3 6 2 5 5 3 6 4 3 3 1 3 3 6 2 3 4 4 2 4 2 5 5 1 4 2 6 2 6 5 3 2 4 5 1 2 5 4 3 1 4 3 1 1 2 2 1 4 3 6 1 4 4 5 2 5 1 6 4 6 4 6 5 1 2 3 6 6 4 2 6 6 3 4 4 2 5 4 5 5 3 4 3 4 6 2 6 4 1 3 1 4 6 4 2 2 6 1 +5 2 1 3 1 3 6 2 4 3 5 1 1 5 4 1 2 3 3 1 5 3 1 5 5 6 2 4 5 6 5 4 1 3 6 5 5 3 6 6 5 2 6 4 6 1 4 1 2 6 5 6 1 3 4 5 6 6 2 5 5 4 6 3 6 3 1 4 5 4 4 2 5 1 5 4 2 2 2 3 6 4 2 6 6 5 4 5 4 3 1 2 1 4 4 6 6 2 2 3 +3 3 2 1 3 6 2 4 5 1 6 2 4 1 1 1 4 2 4 1 5 4 1 3 2 2 6 5 2 5 5 4 1 6 3 4 3 4 5 2 3 3 3 6 3 2 1 6 3 4 5 5 5 3 1 4 4 5 3 5 3 5 1 4 5 3 5 1 6 1 6 6 3 3 6 4 2 4 1 4 1 3 3 3 5 1 1 3 3 1 5 6 5 5 1 3 1 3 2 5 +1 1 4 4 3 1 5 4 4 5 6 2 6 6 5 4 4 5 4 1 5 3 4 1 5 4 4 6 4 3 2 4 3 5 5 4 4 3 1 1 6 4 3 5 3 1 6 5 3 4 5 1 6 2 5 4 3 6 1 4 2 2 1 5 5 6 2 2 6 6 6 3 4 2 1 4 6 1 6 2 4 4 6 1 3 5 2 3 4 3 6 6 2 5 4 4 2 3 5 1 +2 5 4 3 4 2 5 4 6 4 5 1 6 5 1 2 1 1 3 4 3 6 1 2 4 2 6 3 4 2 4 4 4 5 6 2 4 4 3 4 2 1 4 1 3 3 6 3 3 6 5 3 6 5 4 1 5 1 4 2 3 5 3 4 3 3 3 6 4 5 1 3 6 5 3 6 1 1 1 1 4 5 3 3 1 6 2 5 5 5 5 1 1 1 4 1 1 1 4 3 +3 5 5 6 1 6 6 1 4 6 1 1 2 1 4 2 6 3 5 4 5 1 2 5 1 4 5 6 2 2 2 4 4 4 4 4 3 1 2 6 4 2 1 5 6 2 4 4 4 6 1 2 6 1 4 5 2 2 4 3 1 3 4 5 6 5 2 1 3 4 6 6 3 4 2 3 5 4 6 6 3 4 5 3 2 2 5 3 1 6 3 2 6 5 4 5 1 5 3 4 +6 3 1 1 4 3 3 3 4 6 6 6 1 5 6 3 6 4 3 5 1 4 6 6 2 3 3 2 5 5 3 3 5 4 3 3 4 3 3 1 6 2 4 6 6 4 6 4 5 3 2 6 4 5 3 3 5 5 4 1 4 5 3 2 2 3 2 5 5 4 3 4 6 6 2 3 1 1 4 6 1 5 3 4 3 3 4 5 2 2 6 3 4 2 4 5 5 4 1 1 +1 3 3 4 6 4 5 1 2 2 4 3 1 4 4 1 6 2 6 1 1 5 3 4 4 5 6 6 2 4 1 6 4 1 4 3 4 2 3 5 3 6 5 1 1 1 2 1 6 5 1 4 3 2 1 4 6 4 4 5 1 2 4 4 2 5 6 5 4 1 1 5 4 4 5 5 4 4 5 1 2 3 4 2 4 2 6 1 5 3 5 3 2 1 6 3 3 3 5 1 +1 5 5 5 6 1 1 3 5 5 3 4 5 6 6 3 1 3 1 3 5 6 5 4 4 2 6 6 3 4 4 3 6 6 5 6 1 5 6 3 1 1 6 6 4 3 2 5 5 2 5 1 5 4 4 6 3 3 6 5 4 1 6 2 1 4 5 1 1 4 3 1 2 6 6 6 3 5 2 1 5 6 2 1 1 3 1 2 6 4 6 1 4 3 2 4 5 4 4 5 +6 4 5 1 2 3 6 4 1 1 2 3 5 1 4 5 4 2 6 3 5 4 1 2 6 1 4 2 4 1 6 3 3 3 2 4 5 1 5 3 6 6 4 4 1 1 6 4 2 4 4 4 5 4 5 2 4 2 4 6 1 3 6 1 5 1 2 1 6 6 4 5 5 5 6 3 5 5 6 4 6 3 1 4 5 3 6 6 3 3 3 1 3 3 5 2 3 6 6 6 +5 1 4 3 5 1 4 1 4 3 4 3 4 2 1 2 3 4 5 3 6 2 1 2 4 5 1 4 4 1 4 2 5 5 2 4 6 5 4 3 6 6 3 3 1 1 2 1 4 6 3 1 1 1 3 2 5 1 6 6 5 1 1 4 5 1 1 2 3 2 2 6 1 5 6 6 5 1 6 1 5 1 1 5 1 1 1 4 2 4 3 4 4 2 1 6 6 5 6 2 +1 1 6 1 3 5 4 6 6 4 6 4 2 6 6 2 1 4 5 6 1 6 3 2 1 2 6 6 4 5 5 4 5 4 3 6 3 6 5 6 1 4 1 2 1 6 2 1 4 4 4 2 3 5 4 3 6 3 6 3 1 5 5 3 2 5 2 2 2 4 1 3 1 1 4 6 1 3 6 2 1 2 3 1 6 4 4 5 4 3 5 2 5 3 3 1 5 2 2 1 +6 1 3 4 1 4 3 5 1 1 6 5 2 1 5 1 4 6 3 6 1 1 1 5 2 3 3 6 5 3 6 4 3 6 1 3 4 2 2 2 2 5 4 3 5 2 3 3 6 5 2 4 3 6 2 4 3 3 2 5 5 1 6 1 5 4 1 6 5 6 5 6 5 2 6 3 1 2 3 6 4 2 1 1 2 1 2 2 3 3 6 5 2 5 3 6 2 3 5 1 +3 1 4 5 2 4 1 2 3 4 6 1 3 6 5 4 4 6 5 6 1 2 2 2 6 4 5 6 5 1 4 1 1 1 3 2 4 3 1 1 4 4 5 1 2 1 2 5 4 1 5 4 6 6 3 4 2 1 3 6 1 6 4 1 4 6 6 6 2 1 4 4 4 2 4 3 6 5 2 3 3 4 1 3 3 3 4 2 2 6 1 2 3 4 1 6 3 6 3 3 +4 6 6 6 5 1 2 4 5 3 1 6 6 5 6 1 5 3 6 6 6 1 6 2 2 4 5 5 1 2 5 5 5 2 2 4 2 1 1 4 4 5 1 1 1 6 5 6 2 5 3 1 3 6 6 4 3 3 2 4 4 4 6 2 5 1 3 4 1 4 6 2 6 6 1 1 6 3 4 5 1 4 4 3 4 3 5 4 5 4 1 6 2 6 6 4 4 2 2 3 diff --git a/customTests/testeBasico.txt b/customTests/testeBasico.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a082a59281cf45158568c8c10ac9de41b8b3107 --- /dev/null +++ b/customTests/testeBasico.txt @@ -0,0 +1,3 @@ +2 2 3 +1 2 +3 1 diff --git a/customTests/testeMsmaCor.txt b/customTests/testeMsmaCor.txt new file mode 100644 index 0000000000000000000000000000000000000000..29bbd90dd19262ce12f9798182256494c1150d3f --- /dev/null +++ b/customTests/testeMsmaCor.txt @@ -0,0 +1,3 @@ +2 2 1 +2 2 +2 2 diff --git a/exemploProfessor b/exemploProfessor new file mode 100755 index 0000000000000000000000000000000000000000..5389f1df595610bbd522e378070d2beeb8736870 Binary files /dev/null and b/exemploProfessor differ diff --git a/libs/jogador.c b/libs/jogador.c index 7b0f4a2aff9bc736fd5401aa623552497f58548d..6c27964c872f0d85f9e7355c7a2bc22ad92cdf6f 100644 --- a/libs/jogador.c +++ b/libs/jogador.c @@ -48,14 +48,14 @@ Lista Joga(Grafo g, Lista grupo){ destroiLista(coresFilhos, destroiVertice); // // PARA DEBUG!! Imprime as últimas 10 jogadas em um arquivo - // char str[32]; - // sprintf(str, "./jogada%d.out", counter ); - // FILE* debug = fopen(str, "w+"); - // if(debug) { - // grafoParaDot(g, grupo, debug); - // } - // fclose(debug); - // ++counter; + char str[32]; + sprintf(str, "./jogada%d.out", counter ); + FILE* debug = fopen(str, "w+"); + if(debug) { + grafoParaDot(g, grupo, debug); + } + fclose(debug); + ++counter; } while(tamanhoLista(grupo) < tamanhoLista(g->vertices)); return jogadas; diff --git a/main.c b/main.c index 4c9588b08d53c21c962d0b18013cb9b91394ed1b..67528217503bdda091e2cc64e4e63993ddea065a 100644 --- a/main.c +++ b/main.c @@ -16,6 +16,10 @@ int main() { puts("Erro na leitura do tabuleiro"); return -1; } + + //TODO imprimindo o tabuleiro +// imprimeTblr(t); + Grafo g = criaGrafo(); // Transforma o tabuleiro para um grafo tabuleiroParaGrafo(t, g); diff --git a/tests/luizaTests.sh b/tests/luizaTests.sh new file mode 100755 index 0000000000000000000000000000000000000000..2098bb10063c3ff3b3ce1680677342d0ba9f9bf1 --- /dev/null +++ b/tests/luizaTests.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +# tempo máximo para executar, em milisegundos +tempo_max=10000 #10s + +# tamanhos do tabuleiro +tams=(4) + +# lista de cores +cores=(2) + +#-- Cores do terminal +RED='\033[0;31m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' +CYAN='\033[0;36m' +NC='\033[0m' # Sem cor + +echo -ne "" > tabuleiros.txt +echo -ne "#Tam tabuleiro\t#N cores\t#Tempo médio\n" > tempos.txt +echo -ne "#Tam tabuleiro\t#Tempo médio\n" > medias.txt +echo -ne "#Tam tabuleiro\t#N cores\t#Tempo médio\n" > piores.txt + +echo "Iniciado testes" +for i in ${tams[*]} +do + echo "Tamanho do tabuleiro: ${i}" + T_soma_total=0 + for cor in ${cores[*]} + do + echo "Número de cores: ${cor}" + T_soma_cor=0 + T_max_cor=0 + for j in $(seq 1 $i) + do + echo -ne "Tabuleiro com ${i} linhas e ${cor} cores: ${i}x${j} (T max: $(($T_max_cor/1000000000))." + printf "%03d" $(($T_max_cor/1000000)) + echo -ne ")"\\r + semente=$RANDOM + # echo "Usando semente: ${semente}" + ./test $i $j $cor $semente + T_inicial=$(date +%s%N) + ../main < "/tmp/${semente}.in" > /dev/null + T_gasto=$(($(date +%s%N) - $T_inicial)) + T_soma_cor=$(($T_gasto + $T_soma_cor)) + T_soma_total=$(($T_gasto + $T_soma_total)) + # tempo em segundos + S=$(($T_gasto/1000000000)) + # tempo em milisegundos + M=$(($T_gasto/1000000)) + # tempo máximo por cor + if [ $T_max_cor -lt $T_gasto ]; then + T_max_cor=$T_gasto + fi + if (($M>$tempo_max)); then + echo -e "\n${RED}Tabuleiro ${i} ${j} ${cor} ${semente} levou mais de ${tempo_max} milisegundos: ${S}.${M}s${NC}" + echo "${i} ${j} ${cor} ${semente}" >> tabuleiros.txt + fi + rm "/tmp/${semente}.in" + done + T_medio_cor=$(($T_soma_cor/$i)) + S_medio_cor=$(($T_medio_cor/1000000000)) + M_medio_cor=$(($T_medio_cor/1000000)) + echo -ne "\n${CYAN}Tempo médio com ${cor} cores: ${S_medio_cor}." + printf "%03d" ${M_medio_cor} + echo -e "s (${T_medio_cor})${NC}\n" + echo -e "${i}\t${cor}\t${M_medio_cor}" >> tempos.txt + echo -e "${i}\t${cor}\t$(($T_max_cor/1000000))" >> piores.txt + done + T_medio_total=$(( $T_soma_total/($i * ${#cores[*]}) )) + S_medio_total=$(($T_medio_total/1000000000)) + M_medio_total=$(($T_medio_total/1000000)) + echo -ne "${BLUE}Tempo médio com tamanho ${i}: ${S_medio_total}." + printf "%03d" ${M_medio_total} + echo -e "s (${T_medio_total})${NC}\n" + echo -e "${i}\t${M_medio_total}" >> medias.txt +done + +fs=$(cat tabuleiros.txt | wc -l) +if [ ${fs} -gt "1" ]; then + echo -e "${RED}${fs} tabuleiro(s) passou(passaram) do tempo limite de ${tempo_max} milisegundos:${NC}" + cat tabuleiros.txt + exit 1 +else + echo -e "${GREEN}Nenhum tabuleiro passou do tempo limite de ${tempo_max} milisegundos${NC}" + exit 0 +fi