├── .gitattributes ├── Assignment_1 ├── Assignment_1.pdf ├── blank.txt ├── coast_1.txt ├── coast_2.txt ├── coast_3.txt ├── coast_4.txt ├── coast_5.txt ├── fish.py ├── fishtest.txt ├── fish遍历.py ├── land.txt ├── land_1.txt ├── land_1000.txt ├── nonredundant.py ├── partial_order.txt ├── partial_order_2.txt ├── partial_order_3.txt ├── partial_order_4.txt ├── partial_order_5(1).txt ├── partial_order_5.txt ├── rain.py ├── test.txt ├── triangle.py ├── triangle_1.txt ├── triangle_2.txt └── triangle_6-4.txt ├── Assignment_2 ├── Assignment_2.pdf ├── labyrinth1.txt ├── labyrinth1_expected.aux ├── labyrinth1_expected.log ├── labyrinth1_expected.pdf ├── labyrinth1_expected.synctex.gz ├── labyrinth1_expected.tex ├── labyrinth1_output.txt ├── maze.py ├── maze1.txt ├── maze1_expected.pdf ├── maze1_expected.tex ├── maze1_output.txt ├── maze2.txt ├── maze2_expected.pdf ├── maze2_expected.tex ├── maze2_output.txt └── test │ ├── labyrinth1.txt │ ├── maze.py │ ├── maze1.txt │ ├── maze2.txt │ ├── my_maze_0.aux │ ├── my_maze_0.log │ ├── my_maze_0.pdf │ ├── my_maze_0.tex │ ├── my_maze_0.txt │ ├── my_maze_0_output.txt │ ├── my_maze_1.aux │ ├── my_maze_1.log │ ├── my_maze_1.pdf │ ├── my_maze_1.tex │ ├── my_maze_1.txt │ ├── my_maze_1_output.txt │ ├── my_maze_2.aux │ ├── my_maze_2.log │ ├── my_maze_2.pdf │ ├── my_maze_2.tex │ ├── my_maze_2.txt │ ├── my_maze_2_output.txt │ ├── my_maze_3.aux │ ├── my_maze_3.log │ ├── my_maze_3.pdf │ ├── my_maze_3.tex │ ├── my_maze_3.txt │ ├── my_maze_3_output.txt │ ├── my_maze_4.aux │ ├── my_maze_4.log │ ├── my_maze_4.pdf │ ├── my_maze_4.tex │ ├── my_maze_4.txt │ ├── my_maze_4_output.txt │ ├── my_maze_5.aux │ ├── my_maze_5.log │ ├── my_maze_5.pdf │ ├── my_maze_5.tex │ ├── my_maze_5.txt │ ├── my_maze_5_output.txt │ ├── my_maze_6.aux │ ├── my_maze_6.log │ ├── my_maze_6.pdf │ ├── my_maze_6.tex │ ├── my_maze_6.txt │ ├── my_maze_6_output.txt │ ├── test_file_10_20.tex │ ├── test_file_10_20.txt │ ├── test_file_125_195.tex │ ├── test_file_125_195.txt │ ├── test_file_1_1.tex │ ├── test_file_1_1.txt │ ├── test_file_20_30.tex │ ├── test_file_20_30.txt │ ├── test_file_55_35.tex │ ├── test_file_55_35.txt │ └── test_output.txt ├── Assignment_3 ├── Assignment_3.pdf ├── case_10_sirs │ ├── out_141_10_10.txt │ ├── out_161_10_10.txt │ ├── out_163_10_10.txt │ ├── out_170_10_10.txt │ ├── puzzle_141_10_10.txt │ ├── puzzle_161_10_10.txt │ ├── puzzle_163_10_10.txt │ ├── puzzle_170_10_10.txt │ └── solve.py ├── case_4_sirs │ ├── out_0_4_4.txt │ ├── out_10_4_4.txt │ ├── out_1_4_4.txt │ ├── out_2_4_4.txt │ ├── out_3_4_4.txt │ ├── out_4_4_4.txt │ ├── out_5_4_4.txt │ ├── out_6_4_4.txt │ ├── out_7_4_4.txt │ ├── out_8_4_4.txt │ ├── out_9_4_4.txt │ ├── puzzle_0_4_4.txt │ ├── puzzle_10_4_4.txt │ ├── puzzle_1_4_4.txt │ ├── puzzle_2_4_4.txt │ ├── puzzle_3_4_4.txt │ ├── puzzle_4_4_4.txt │ ├── puzzle_5_4_4.txt │ ├── puzzle_6_4_4.txt │ ├── puzzle_7_4_4.txt │ ├── puzzle_8_4_4.txt │ └── puzzle_9_4_4.txt ├── case_6_sirs │ ├── out_0_6_6.txt │ ├── out_100_6_6.txt │ ├── out_10_6_6.txt │ ├── out_20_6_4.txt │ ├── out_30_6_6.txt │ ├── out_40_6_3.txt │ ├── out_50_6_6.txt │ ├── out_60_6_2.txt │ ├── out_70_6_6.txt │ ├── out_80_6_6.txt │ ├── out_90_6_6.txt │ ├── puzzle_0_6_6.txt │ ├── puzzle_100_6_6.txt │ ├── puzzle_10_6_6.txt │ ├── puzzle_20_6_4.txt │ ├── puzzle_30_6_6.txt │ ├── puzzle_40_6_3.txt │ ├── puzzle_50_6_6.txt │ ├── puzzle_60_6_2.txt │ ├── puzzle_70_6_6.txt │ ├── puzzle_80_6_6.txt │ └── puzzle_90_6_6.txt ├── output1.txt ├── output2.txt ├── output3.txt ├── puzzle_19.txt ├── puzzle_2_4_4.txt ├── puzzle_6_6_6.txt ├── run test │ ├── a3test │ │ ├── puzzle_0_6_6.txt │ │ ├── puzzle_0_6_6_my_output.txt │ │ ├── puzzle_0_6_6_output.txt │ │ ├── puzzle_100_6_6.txt │ │ ├── puzzle_100_6_6_my_output.txt │ │ ├── puzzle_100_6_6_output.txt │ │ ├── puzzle_10_6_6.txt │ │ ├── puzzle_10_6_6_my_output.txt │ │ ├── puzzle_10_6_6_output.txt │ │ ├── puzzle_141_10_10.txt │ │ ├── puzzle_141_10_10_my_output.txt │ │ ├── puzzle_141_10_10_output.txt │ │ ├── puzzle_161_10_10.txt │ │ ├── puzzle_161_10_10_my_output.txt │ │ ├── puzzle_161_10_10_output.txt │ │ ├── puzzle_163_10_10.txt │ │ ├── puzzle_163_10_10_my_output.txt │ │ ├── puzzle_163_10_10_output.txt │ │ ├── puzzle_170_10_10.txt │ │ ├── puzzle_170_10_10_my_output.txt │ │ ├── puzzle_170_10_10_output.txt │ │ ├── puzzle_20_6_4.txt │ │ ├── puzzle_20_6_4_my_output.txt │ │ ├── puzzle_20_6_4_output.txt │ │ ├── puzzle_30_6_6.txt │ │ ├── puzzle_30_6_6_my_output.txt │ │ ├── puzzle_30_6_6_output.txt │ │ ├── puzzle_40_6_3.txt │ │ ├── puzzle_40_6_3_my_output.txt │ │ ├── puzzle_40_6_3_output.txt │ │ ├── puzzle_50_6_6.txt │ │ ├── puzzle_50_6_6_my_output.txt │ │ ├── puzzle_50_6_6_output.txt │ │ ├── puzzle_60_6_2.txt │ │ ├── puzzle_60_6_2_my_output.txt │ │ ├── puzzle_60_6_2_output.txt │ │ ├── puzzle_70_6_6.txt │ │ ├── puzzle_70_6_6_my_output.txt │ │ ├── puzzle_70_6_6_output.txt │ │ ├── puzzle_80_6_6.txt │ │ ├── puzzle_80_6_6_my_output.txt │ │ ├── puzzle_80_6_6_output.txt │ │ ├── puzzle_90_6_6.txt │ │ ├── puzzle_90_6_6_my_output.txt │ │ └── puzzle_90_6_6_output.txt │ ├── run_all_txt.py │ └── solve.py ├── solve.py ├── test1.txt ├── test2.txt ├── test3.txt ├── test4.txt ├── test5.txt ├── test6.txt └── test7.txt ├── Quizzes ├── Week10 │ ├── __pycache__ │ │ └── binary_tree.cpython-35.pyc │ ├── binary_tree.py │ ├── quiz_9.pdf │ └── quiz_9.py ├── Week11 │ ├── binary_tree.py │ ├── priority_queue.py │ ├── quiz_10.pdf │ └── quiz_10.py ├── Week2 │ ├── quiz_1.pdf │ ├── quiz_1.py │ └── quiz_1_sol.py ├── Week3 │ ├── quiz_2 马丁.py │ ├── quiz_2.pdf │ └── quiz_2.py ├── Week4 │ ├── quiz_3 ban.py │ ├── quiz_3.pdf │ └── quiz_3.py ├── Week5 │ ├── monthly.csv │ ├── quiz_4.pdf │ ├── quiz_4.py │ └── quiz_4——dic.py ├── Week6 │ ├── quiz_5.pdf │ ├── quiz_5.py │ └── quiz_5_sol.py ├── Week7 │ ├── __pycache__ │ │ └── quiz_6.cpython-35.pyc │ ├── quiz_6.pdf │ ├── quiz_6.py │ └── quiz_6_sol.py ├── Week8 │ ├── __pycache__ │ │ ├── extended_linked_list.cpython-35.pyc │ │ ├── extended_linked_list_sol.cpython-35.pyc │ │ └── linked_list.cpython-35.pyc │ ├── extended_linked_list.py │ ├── extended_linked_list_sol.py │ ├── linked_list.py │ ├── quiz_7.pdf │ └── quiz_7.py └── Week9 │ ├── __pycache__ │ └── array_queue.cpython-35.pyc │ ├── array_queue.py │ ├── quiz_8.pdf │ └── quiz_8.py └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /Assignment_1/Assignment_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_1/Assignment_1.pdf -------------------------------------------------------------------------------- /Assignment_1/blank.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_1/blank.txt -------------------------------------------------------------------------------- /Assignment_1/coast_1.txt: -------------------------------------------------------------------------------- 1 | 5 70 2 | 15 100 3 | 1200 20 4 | 1210 50 -------------------------------------------------------------------------------- /Assignment_1/coast_2.txt: -------------------------------------------------------------------------------- 1 | 20 300 2 | 40 400 3 | 340 700 4 | 360 600 5 | -------------------------------------------------------------------------------- /Assignment_1/coast_3.txt: -------------------------------------------------------------------------------- 1 | 10 450 2 | 20 300 3 | 40 400 4 | 340 700 5 | 360 600 6 | 370 400 7 | 390 300 -------------------------------------------------------------------------------- /Assignment_1/coast_4.txt: -------------------------------------------------------------------------------- 1 | 20 300 2 | 40 700 3 | 240 400 4 | 260 350 5 | 270 700 6 | 380 350 7 | 390 300 -------------------------------------------------------------------------------- /Assignment_1/coast_5.txt: -------------------------------------------------------------------------------- 1 | 100 300 2 | 200 400 3 | 500 700 4 | 700 500 5 | 10000 40000000 6 | 12000 600 7 | 13000 500 -------------------------------------------------------------------------------- /Assignment_1/fish.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import math 3 | import statistics 4 | import copy 5 | 6 | file_name = input('Which data file do you want to use? ') 7 | try: 8 | file_object = open(file_name) 9 | L1=[] 10 | L2=[] 11 | Read=file_object.readlines() 12 | if (Read==[]): 13 | raise ValueError 14 | sys.exit() 15 | for line in Read: 16 | data = line.split() 17 | #print('Read is:',Read) 18 | #print('data is:',data) 19 | for i in range(len(data)): 20 | if i % 2 == 0: 21 | L1.append(int(data[i])) 22 | #print('L1 is: ',L1) 23 | else: 24 | L2.append(int(data[i])) 25 | #print('L2 is: ',L2) 26 | except IOError: 27 | print('Incorrect input, giving up!') 28 | sys.exit() 29 | except ValueError: 30 | print('Incorrect input, giving up!') 31 | sys.exit() 32 | file_object.close() 33 | 34 | #print('L1 is: ',L1) 35 | #print('L2 is: ',L2) 36 | 37 | max_mean_value = int(statistics.mean(L2)) 38 | #print('max_mean_value is: {:.2f}'.format(max_mean_value)) 39 | min_value= int(min(L2)) 40 | #print('max_mean_value is: {:.2f}'.format(min_value)) 41 | ave = int((max_mean_value+min_value)/2) 42 | 43 | def check(ave): 44 | outcome=[] 45 | M=L2[:] 46 | for j in range(len(M)-1): 47 | if(M[j]ave): 51 | # if the island bigger than i, decide whether ship to the next island 52 | if( M[j]-ave > (L1[j+1]-L1[j])): 53 | M[j+1]=M[j+1] + (M[j]-ave) - ((L1[j+1]-L1[j])) 54 | # if the lose is less, ship 55 | if( M[j]-ave <= (L1[j+1]-L1[j])): 56 | # if the lose is bigger, no ship 57 | pass 58 | if(M[j]==ave): 59 | # if the lose equal to the deliver, no ship 60 | pass 61 | if(M[-1]>ave): 62 | # ave can be reached 63 | # find a bigger one 64 | # wang shang zhao 65 | return 1 66 | if(M[-1]i): 51 | # if the island bigger than i, decide whether ship to the next island 52 | if( M[j]-i > (L1[j+1]-L1[j])): 53 | M[j+1]=M[j+1] + (M[j]-i) - ((L1[j+1]-L1[j])) 54 | # if the lose is less, ship 55 | if( M[j]-i <= (L1[j+1]-L1[j])): 56 | # if the lose is bigger, no ship 57 | pass 58 | if(M[j]==i): 59 | # if the lose equal to the deliver, no ship 60 | pass 61 | if(M[-1]>=i): 62 | outcome.append(i) 63 | # (i can be reached) add i into the result 64 | if(M[-1]volume_list[-1]): 97 | water=(int(n)-volume_list[-1])/(sum(height)) + L_count[-1] 98 | print('The water rises to {:.2f} centimetres.'.format(water)) 99 | 100 | -------------------------------------------------------------------------------- /Assignment_1/test.txt: -------------------------------------------------------------------------------- 1 | R(3,5) 2 | R(4,2) 3 | R(5,2) 4 | R(2,1) 5 | R(3,1) 6 | R(4,1) 7 | R(3,4) -------------------------------------------------------------------------------- /Assignment_1/triangle.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import re 3 | import copy 4 | 5 | file_name = input('Which data file do you want to use? ') 6 | try: 7 | file = open(file_name) 8 | do_L=[] 9 | L=[] 10 | Read=file.readlines() 11 | #print(Read) 12 | if (Read==[]): 13 | raise ValueError 14 | sys.exit() 15 | for line in Read: 16 | data = line.split() 17 | do_L.append(data) 18 | for i in do_L: 19 | temp=[] 20 | for j in i: 21 | temp.append(int(j)) 22 | #print(temp) 23 | L.append(temp) 24 | except IOError: 25 | print('Incorrect input!') 26 | sys.exit() 27 | except ValueError: 28 | print('Incorrect input, giving up!') 29 | sys.exit() 30 | file.close() 31 | 32 | record=[] 33 | #print('len ',len(L)) --5 34 | for i in range(len(L)-1,-1,-1): 35 | i_re=len(L)-i-1 36 | #print('i is: ',i) 37 | line=[] 38 | for j in range(0,len(L[i])): 39 | #print(i) #-- 4 3 2 1 40 | #print(L[i][j]) 41 | global m 42 | m=i+1 43 | global n 44 | n=j+1 45 | if(i+1==len(L)): 46 | line.append([L[i][j],1,[L[i][j]]]) 47 | #line.append(1) 48 | #line.append(L[i][j]) 49 | #print('line 1 is : ', line) 50 | if( i+1record[i_re-1][j+1][0]): 68 | sum_v=L[i][j]+record[i_re-1][j][0] 69 | line.append([sum_v,record[i_re-1][j][1],copy.deepcopy(record[i_re-1][j][2])]) 70 | line[j][2].append(L[i][j]) 71 | record.append(copy.deepcopy(line)) 72 | #print('line is: ',line) 73 | #print(record) 74 | 75 | final=record[-1][-1][-1] 76 | #print(final) 77 | seq=[] 78 | for i in range(len(final)-1,-1,-1): 79 | seq.append(final[i]) 80 | 81 | print('The largest sum is: ',record[-1][-1][0]) 82 | print('The number of paths yielding this sum is: ',record[-1][-1][1]) 83 | print('The leftmost path yielding this sum is: ',seq) 84 | 85 | -------------------------------------------------------------------------------- /Assignment_1/triangle_1.txt: -------------------------------------------------------------------------------- 1 | 7 2 | 3 8 3 | 8 1 0 4 | 2 7 4 4 5 | 4 5 2 6 5 6 | -------------------------------------------------------------------------------- /Assignment_1/triangle_2.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 2 3 | 1 2 1 4 | 2 1 1 2 5 | 1 2 1 2 1 6 | 2 1 2 2 1 2 7 | -------------------------------------------------------------------------------- /Assignment_2/Assignment_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/Assignment_2.pdf -------------------------------------------------------------------------------- /Assignment_2/labyrinth1.txt: -------------------------------------------------------------------------------- 1 | 31111111132 2 | 21122131202 3 | 33023022112 4 | 20310213122 5 | 31011120202 6 | 21230230112 7 | 30223031302 8 | 03122121212 9 | 22203110322 10 | 22110311002 11 | 11111101110 12 | 13 | 14 | -------------------------------------------------------------------------------- /Assignment_2/labyrinth1_expected.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/labyrinth1_expected.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/labyrinth1_expected.pdf -------------------------------------------------------------------------------- /Assignment_2/labyrinth1_expected.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/labyrinth1_expected.synctex.gz -------------------------------------------------------------------------------- /Assignment_2/labyrinth1_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 2 gates. 2 | The maze has 2 sets of walls that are all connected. 3 | The maze has no inaccessible inner point. 4 | The maze has a unique accessible area. 5 | The maze has 8 sets of accessible cul-de-sacs that are all connected. 6 | The maze has a unique entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/maze1.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 0 2 2 1 2 3 0 4 | 5 | 3 2 2 1 2 0 2 2 6 | 7 | 3 0 1 1 3 1 0 0 8 | 9 | 2 0 3 0 0 1 2 0 10 | 11 | 3 2 2 0 1 2 3 2 12 | 13 | 1 0 0 1 1 0 0 0 14 | 15 | 16 | -------------------------------------------------------------------------------- /Assignment_2/maze1_expected.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/maze1_expected.pdf -------------------------------------------------------------------------------- /Assignment_2/maze1_expected.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (0,0) -- (1,0); 15 | \draw (4,0) -- (5,0); 16 | \draw (6,0) -- (7,0); 17 | \draw (0,1) -- (1,1); 18 | \draw (3,1) -- (4,1); 19 | \draw (0,2) -- (1,2); 20 | \draw (2,2) -- (6,2); 21 | \draw (2,3) -- (3,3); 22 | \draw (5,3) -- (6,3); 23 | \draw (0,4) -- (1,4); 24 | \draw (4,4) -- (5,4); 25 | \draw (6,4) -- (7,4); 26 | \draw (0,5) -- (1,5); 27 | \draw (3,5) -- (5,5); 28 | \draw (0,1) -- (0,5); 29 | \draw (1,1) -- (1,2); 30 | \draw (1,4) -- (1,5); 31 | \draw (2,0) -- (2,2); 32 | \draw (2,3) -- (2,5); 33 | \draw (3,0) -- (3,1); 34 | \draw (4,1) -- (4,3); 35 | \draw (5,0) -- (5,1); 36 | \draw (5,4) -- (5,5); 37 | \draw (6,0) -- (6,2); 38 | \draw (6,3) -- (6,5); 39 | \draw (7,1) -- (7,2); 40 | \draw (7,4) -- (7,5); 41 | % Pillars 42 | \fill[green] (1,3) circle(0.2); 43 | \fill[green] (7,3) circle(0.2); 44 | \fill[green] (3,4) circle(0.2); 45 | % Inner points in accessible cul-de-sacs 46 | \node at (2.5,0.5) {}; 47 | \node at (2.5,1.5) {}; 48 | \node at (3.5,1.5) {}; 49 | \node at (4.5,4.5) {}; 50 | \node at (6.5,4.5) {}; 51 | % Entry-exit paths without intersections 52 | \draw[dashed, yellow] (3.5,0.5) -- (4.5,0.5); 53 | \draw[dashed, yellow] (4.5,1.5) -- (5.5,1.5); 54 | \draw[dashed, yellow] (3.5,-0.5) -- (3.5,0.5); 55 | \draw[dashed, yellow] (4.5,0.5) -- (4.5,1.5); 56 | \draw[dashed, yellow] (5.5,-0.5) -- (5.5,1.5); 57 | \end{tikzpicture} 58 | \end{center} 59 | \vspace*{\fill} 60 | 61 | \end{document} 62 | -------------------------------------------------------------------------------- /Assignment_2/maze1_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 12 gates. 2 | The maze has 8 sets of walls that are all connected. 3 | The maze has 2 inaccessible inner points. 4 | The maze has 4 accessible areas. 5 | The maze has 3 sets of accessible cul-de-sacs that are all connected. 6 | The maze has a unique entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/maze2.txt: -------------------------------------------------------------------------------- 1 | 022302120222 2 | 222223111032 3 | 301322130302 4 | 312322232330 5 | 001000100000 6 | -------------------------------------------------------------------------------- /Assignment_2/maze2_expected.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/maze2_expected.pdf -------------------------------------------------------------------------------- /Assignment_2/maze2_expected.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (3,0) -- (4,0); 15 | \draw (6,0) -- (7,0); 16 | \draw (5,1) -- (9,1); 17 | \draw (10,1) -- (11,1); 18 | \draw (0,2) -- (1,2); 19 | \draw (2,2) -- (4,2); 20 | \draw (6,2) -- (8,2); 21 | \draw (9,2) -- (10,2); 22 | \draw (0,3) -- (2,3); 23 | \draw (3,3) -- (4,3); 24 | \draw (7,3) -- (8,3); 25 | \draw (9,3) -- (11,3); 26 | \draw (2,4) -- (3,4); 27 | \draw (6,4) -- (7,4); 28 | \draw (0,1) -- (0,4); 29 | \draw (1,0) -- (1,2); 30 | \draw (2,0) -- (2,2); 31 | \draw (2,3) -- (2,4); 32 | \draw (3,0) -- (3,4); 33 | \draw (4,1) -- (4,4); 34 | \draw (5,0) -- (5,4); 35 | \draw (6,3) -- (6,4); 36 | \draw (7,0) -- (7,1); 37 | \draw (7,2) -- (7,4); 38 | \draw (8,3) -- (8,4); 39 | \draw (9,0) -- (9,1); 40 | \draw (9,2) -- (9,4); 41 | \draw (10,0) -- (10,2); 42 | \draw (10,3) -- (10,4); 43 | \draw (11,0) -- (11,3); 44 | % Pillars 45 | \fill[green] (0,0) circle(0.2); 46 | \fill[green] (8,0) circle(0.2); 47 | \fill[green] (1,4) circle(0.2); 48 | \fill[green] (11,4) circle(0.2); 49 | % Inner points in accessible cul-de-sacs 50 | \node at (1.5,0.5) {}; 51 | \node at (2.5,0.5) {}; 52 | \node at (3.5,0.5) {}; 53 | \node at (5.5,0.5) {}; 54 | \node at (6.5,0.5) {}; 55 | \node at (10.5,0.5) {}; 56 | \node at (0.5,1.5) {}; 57 | \node at (1.5,1.5) {}; 58 | \node at (2.5,1.5) {}; 59 | \node at (3.5,1.5) {}; 60 | \node at (0.5,2.5) {}; 61 | \node at (1.5,2.5) {}; 62 | \node at (2.5,2.5) {}; 63 | \node at (6.5,2.5) {}; 64 | \node at (7.5,2.5) {}; 65 | \node at (2.5,3.5) {}; 66 | \node at (3.5,3.5) {}; 67 | \node at (6.5,3.5) {}; 68 | \node at (7.5,3.5) {}; 69 | \node at (9.5,3.5) {}; 70 | % Entry-exit paths without intersections 71 | \draw[dashed, yellow] (-0.5,0.5) -- (0.5,0.5); 72 | \draw[dashed, yellow] (7.5,0.5) -- (8.5,0.5); 73 | \draw[dashed, yellow] (0.5,3.5) -- (1.5,3.5); 74 | \draw[dashed, yellow] (10.5,3.5) -- (11.5,3.5); 75 | \draw[dashed, yellow] (0.5,-0.5) -- (0.5,0.5); 76 | \draw[dashed, yellow] (0.5,3.5) -- (0.5,4.5); 77 | \draw[dashed, yellow] (1.5,3.5) -- (1.5,4.5); 78 | \draw[dashed, yellow] (4.5,-0.5) -- (4.5,4.5); 79 | \draw[dashed, yellow] (7.5,-0.5) -- (7.5,0.5); 80 | \draw[dashed, yellow] (8.5,-0.5) -- (8.5,0.5); 81 | \draw[dashed, yellow] (10.5,3.5) -- (10.5,4.5); 82 | \end{tikzpicture} 83 | \end{center} 84 | \vspace*{\fill} 85 | 86 | \end{document} 87 | -------------------------------------------------------------------------------- /Assignment_2/maze2_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 20 gates. 2 | The maze has 4 sets of walls that are all connected. 3 | The maze has 4 inaccessible inner points. 4 | The maze has 13 accessible areas. 5 | The maze has 11 sets of accessible cul-de-sacs that are all connected. 6 | The maze has 5 entry-exit paths with no intersections not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/labyrinth1.txt: -------------------------------------------------------------------------------- 1 | 31111111132 2 | 21122131202 3 | 33023022112 4 | 20310213122 5 | 31011120202 6 | 21230230112 7 | 30223031302 8 | 03122121212 9 | 22203110322 10 | 22110311002 11 | 11111101110 12 | 13 | 14 | -------------------------------------------------------------------------------- /Assignment_2/test/maze1.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 0 2 2 1 2 3 0 4 | 5 | 3 2 2 1 2 0 2 2 6 | 7 | 3 0 1 1 3 1 0 0 8 | 9 | 2 0 3 0 0 1 2 0 10 | 11 | 3 2 2 0 1 2 3 2 12 | 13 | 1 0 0 1 1 0 0 0 14 | 15 | 16 | -------------------------------------------------------------------------------- /Assignment_2/test/maze2.txt: -------------------------------------------------------------------------------- 1 | 022302120222 2 | 222223111032 3 | 301322130302 4 | 312322232330 5 | 001000100000 6 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_0.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_0.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_0.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (0,0) -- (2,0); 15 | \draw (4,0) -- (5,0); 16 | \draw (2,2) -- (3,2); 17 | \draw (4,2) -- (5,2); 18 | \draw (0,3) -- (3,3); 19 | \draw (1,4) -- (3,4); 20 | \draw (4,4) -- (5,4); 21 | \draw (3,5) -- (5,5); 22 | \draw (0,6) -- (1,6); 23 | \draw (4,6) -- (5,6); 24 | \draw (1,7) -- (2,7); 25 | \draw (3,7) -- (5,7); 26 | \draw (0,8) -- (4,8); 27 | \draw (0,9) -- (1,9); 28 | \draw (2,9) -- (3,9); 29 | \draw (4,9) -- (5,9); 30 | \draw (2,10) -- (3,10); 31 | \draw (2,11) -- (3,11); 32 | \draw (0,12) -- (1,12); 33 | \draw (2,12) -- (5,12); 34 | \draw (0,13) -- (1,13); 35 | \draw (2,13) -- (3,13); 36 | \draw (0,14) -- (3,14); 37 | \draw (3,15) -- (4,15); 38 | \draw (0,16) -- (1,16); 39 | \draw (4,16) -- (5,16); 40 | \draw (0,2) -- (0,3); 41 | \draw (0,4) -- (0,5); 42 | \draw (0,6) -- (0,10); 43 | \draw (0,12) -- (0,13); 44 | \draw (0,14) -- (0,16); 45 | \draw (1,0) -- (1,1); 46 | \draw (1,2) -- (1,5); 47 | \draw (1,6) -- (1,7); 48 | \draw (1,9) -- (1,10); 49 | \draw (1,11) -- (1,13); 50 | \draw (1,14) -- (1,15); 51 | \draw (2,0) -- (2,2); 52 | \draw (2,3) -- (2,5); 53 | \draw (2,6) -- (2,8); 54 | \draw (2,9) -- (2,10); 55 | \draw (2,12) -- (2,16); 56 | \draw (3,0) -- (3,3); 57 | \draw (3,7) -- (3,9); 58 | \draw (3,10) -- (3,11); 59 | \draw (4,0) -- (4,1); 60 | \draw (4,4) -- (4,6); 61 | \draw (4,7) -- (4,8); 62 | \draw (4,11) -- (4,16); 63 | \draw (5,3) -- (5,5); 64 | \draw (5,6) -- (5,7); 65 | \draw (5,8) -- (5,10); 66 | \draw (5,11) -- (5,13); 67 | \draw (5,14) -- (5,15); 68 | % Pillars 69 | \fill[green] (0,1) circle(0.2); 70 | \fill[green] (5,1) circle(0.2); 71 | \fill[green] (4,3) circle(0.2); 72 | \fill[green] (3,6) circle(0.2); 73 | \fill[green] (4,10) circle(0.2); 74 | \fill[green] (0,11) circle(0.2); 75 | \fill[green] (3,16) circle(0.2); 76 | % Inner points in accessible cul-de-sacs 77 | \node at (1.5,0.5) {}; 78 | \node at (2.5,0.5) {}; 79 | \node at (1.5,1.5) {}; 80 | \node at (2.5,1.5) {}; 81 | \node at (0.5,2.5) {}; 82 | \node at (1.5,2.5) {}; 83 | \node at (2.5,2.5) {}; 84 | \node at (2.5,3.5) {}; 85 | \node at (1.5,4.5) {}; 86 | \node at (4.5,5.5) {}; 87 | \node at (1.5,6.5) {}; 88 | \node at (4.5,6.5) {}; 89 | \node at (2.5,7.5) {}; 90 | \node at (0.5,8.5) {}; 91 | \node at (1.5,8.5) {}; 92 | \node at (2.5,8.5) {}; 93 | \node at (0.5,9.5) {}; 94 | \node at (1.5,9.5) {}; 95 | \node at (2.5,9.5) {}; 96 | \node at (2.5,10.5) {}; 97 | \node at (4.5,11.5) {}; 98 | \node at (2.5,12.5) {}; 99 | \node at (3.5,12.5) {}; 100 | \node at (4.5,12.5) {}; 101 | \node at (2.5,13.5) {}; 102 | \node at (3.5,13.5) {}; 103 | \node at (0.5,14.5) {}; 104 | \node at (1.5,14.5) {}; 105 | \node at (2.5,14.5) {}; 106 | \node at (3.5,14.5) {}; 107 | \node at (0.5,15.5) {}; 108 | \node at (1.5,15.5) {}; 109 | % Entry-exit paths without intersections 110 | \draw[dashed, yellow] (-0.5,0.5) -- (0.5,0.5); 111 | \draw[dashed, yellow] (-0.5,1.5) -- (0.5,1.5); 112 | \draw[dashed, yellow] (4.5,13.5) -- (5.5,13.5); 113 | \draw[dashed, yellow] (2.5,15.5) -- (3.5,15.5); 114 | \draw[dashed, yellow] (4.5,15.5) -- (5.5,15.5); 115 | \draw[dashed, yellow] (0.5,0.5) -- (0.5,1.5); 116 | \draw[dashed, yellow] (2.5,15.5) -- (2.5,16.5); 117 | \draw[dashed, yellow] (3.5,15.5) -- (3.5,16.5); 118 | \draw[dashed, yellow] (4.5,13.5) -- (4.5,15.5); 119 | \end{tikzpicture} 120 | \end{center} 121 | \vspace*{\fill} 122 | 123 | \end{document} 124 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_0.txt: -------------------------------------------------------------------------------- 1 | 1 3 2 2 3 0 2 | 3 | 0 0 2 2 0 0 4 | 5 | 2 2 1 2 1 0 6 | 7 | 1 3 3 0 0 2 8 | 9 | 2 3 3 0 3 2 10 | 11 | 0 0 0 1 3 0 12 | 13 | 3 2 2 0 1 2 14 | 15 | 2 1 2 3 3 0 16 | 17 | 3 1 1 3 0 2 18 | 19 | 3 2 3 0 1 2 20 | 21 | 0 0 1 2 0 0 22 | 23 | 0 2 1 0 2 2 24 | 25 | 3 2 3 1 3 2 26 | 27 | 1 0 3 0 2 0 28 | 29 | 3 3 3 0 2 2 30 | 31 | 2 0 2 1 2 0 32 | 33 | 1 0 0 0 1 0 34 | 35 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_0_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 20 gates. 2 | The maze has 9 sets of walls that are all connected. 3 | The maze has 7 inaccessible inner points. 4 | The maze has 8 accessible areas. 5 | The maze has 17 sets of accessible cul-de-sacs that are all connected. 6 | The maze has 3 entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_1.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_1.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_1.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (1,0) -- (2,0); 15 | \draw (7,0) -- (8,0); 16 | \draw (2,1) -- (3,1); 17 | \draw (4,1) -- (5,1); 18 | \draw (6,1) -- (7,1); 19 | \draw (0,0) -- (0,1); 20 | \draw (4,0) -- (4,1); 21 | \draw (5,0) -- (5,1); 22 | \draw (7,0) -- (7,1); 23 | \draw (8,0) -- (8,1); 24 | % Pillars 25 | \fill[green] (3,0) circle(0.2); 26 | \fill[green] (6,0) circle(0.2); 27 | \fill[green] (9,0) circle(0.2); 28 | \fill[green] (1,1) circle(0.2); 29 | \fill[green] (9,1) circle(0.2); 30 | % Inner points in accessible cul-de-sacs 31 | \node at (4.5,0.5) {}; 32 | \node at (7.5,0.5) {}; 33 | % Entry-exit paths without intersections 34 | \end{tikzpicture} 35 | \end{center} 36 | \vspace*{\fill} 37 | 38 | \end{document} 39 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_1.txt: -------------------------------------------------------------------------------- 1 | 2 1 0 0 2 2 0 3 2 0 2 | 3 | 0 0 1 0 1 0 1 0 0 0 4 | 5 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_1_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 14 gates. 2 | The maze has 5 sets of walls that are all connected. 3 | The maze has no inaccessible inner point. 4 | The maze has 5 accessible areas. 5 | The maze has 2 sets of accessible cul-de-sacs that are all connected. 6 | The maze has no entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_2.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_2.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_2.txt: -------------------------------------------------------------------------------- 1 | 1 0 2 0 0 1 1 1 1 0 1 2 1 1 1 0 2 3 2 2 | 3 | 3 1 2 1 3 1 2 3 0 1 3 0 3 0 2 2 2 0 0 4 | 5 | 1 0 1 2 1 0 3 1 1 1 0 3 1 3 2 1 2 2 2 6 | 7 | 3 2 3 2 1 3 1 3 1 0 2 1 1 0 3 0 2 0 0 8 | 9 | 0 1 3 3 3 0 3 3 0 2 3 2 1 3 2 0 0 3 0 10 | 11 | 0 2 3 2 0 1 2 3 0 0 0 1 2 3 2 1 2 2 0 12 | 13 | 0 3 3 2 2 3 2 2 1 2 1 1 1 2 3 3 2 1 2 14 | 15 | 3 0 0 3 0 1 0 2 2 1 0 3 3 0 3 2 0 1 2 16 | 17 | 3 0 2 1 1 1 0 0 0 3 2 3 1 1 2 3 1 2 0 18 | 19 | 3 3 3 0 3 3 1 2 1 2 1 1 0 2 1 3 0 2 0 20 | 21 | 1 2 2 0 3 0 3 3 1 1 3 2 0 2 0 3 2 3 0 22 | 23 | 1 1 0 1 1 3 0 2 0 2 1 2 1 0 0 2 1 1 0 24 | 25 | 1 0 3 3 1 2 1 3 2 2 1 1 2 2 2 2 2 3 2 26 | 27 | 0 3 3 1 3 1 3 3 1 3 2 3 2 0 0 0 3 3 0 28 | 29 | 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 0 0 30 | 31 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_2_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 34 gates. 2 | The maze has 18 sets of walls that are all connected. 3 | The maze has 59 inaccessible inner points. 4 | The maze has 12 accessible areas. 5 | The maze has 32 sets of accessible cul-de-sacs that are all connected. 6 | The maze has 3 entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_3.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_3.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_3.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (2,0) -- (3,0); 15 | \draw (0,1) -- (1,1); 16 | \draw (2,1) -- (3,1); 17 | \draw (2,0) -- (2,1); 18 | % Pillars 19 | \fill[green] (0,0) circle(0.2); 20 | \fill[green] (1,0) circle(0.2); 21 | % Inner points in accessible cul-de-sacs 22 | \node at (2.5,0.5) {}; 23 | % Entry-exit paths without intersections 24 | \end{tikzpicture} 25 | \end{center} 26 | \vspace*{\fill} 27 | 28 | \end{document} 29 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_3.txt: -------------------------------------------------------------------------------- 1 | 0 0 3 0 2 | 3 | 1 0 1 0 4 | 5 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_3_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 5 gates. 2 | The maze has 2 sets of walls that are all connected. 3 | The maze has no inaccessible inner point. 4 | The maze has 2 accessible areas. 5 | The maze has accessible cul-de-sacs that are all connected. 6 | The maze has no entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_4.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_4.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_4.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (3,0) -- (4,0); 15 | \draw (2,1) -- (4,1); 16 | \draw (2,2) -- (3,2); 17 | \draw (0,3) -- (1,3); 18 | \draw (2,3) -- (4,3); 19 | \draw (2,4) -- (4,4); 20 | \draw (1,5) -- (2,5); 21 | \draw (0,7) -- (1,7); 22 | \draw (2,7) -- (4,7); 23 | \draw (2,8) -- (4,8); 24 | \draw (1,9) -- (4,9); 25 | \draw (0,10) -- (1,10); 26 | \draw (2,11) -- (4,11); 27 | \draw (1,12) -- (2,12); 28 | \draw (0,13) -- (2,13); 29 | \draw (0,0) -- (0,2); 30 | \draw (0,3) -- (0,6); 31 | \draw (0,7) -- (0,8); 32 | \draw (0,10) -- (0,13); 33 | \draw (1,1) -- (1,5); 34 | \draw (1,6) -- (1,7); 35 | \draw (1,9) -- (1,10); 36 | \draw (1,12) -- (1,13); 37 | \draw (2,3) -- (2,5); 38 | \draw (2,6) -- (2,7); 39 | \draw (2,8) -- (2,10); 40 | \draw (2,11) -- (2,12); 41 | \draw (3,1) -- (3,5); 42 | \draw (3,7) -- (3,8); 43 | \draw (3,10) -- (3,12); 44 | \draw (4,1) -- (4,2); 45 | \draw (4,4) -- (4,5); 46 | \draw (4,12) -- (4,13); 47 | % Pillars 48 | \fill[green] (1,0) circle(0.2); 49 | \fill[green] (2,0) circle(0.2); 50 | \fill[green] (3,6) circle(0.2); 51 | \fill[green] (4,6) circle(0.2); 52 | \fill[green] (1,8) circle(0.2); 53 | \fill[green] (0,9) circle(0.2); 54 | \fill[green] (4,10) circle(0.2); 55 | \fill[green] (1,11) circle(0.2); 56 | \fill[green] (3,13) circle(0.2); 57 | % Inner points in accessible cul-de-sacs 58 | \node at (1.5,1.5) {}; 59 | \node at (2.5,1.5) {}; 60 | \node at (3.5,1.5) {}; 61 | \node at (1.5,2.5) {}; 62 | \node at (2.5,2.5) {}; 63 | \node at (3.5,2.5) {}; 64 | \node at (0.5,3.5) {}; 65 | \node at (1.5,3.5) {}; 66 | \node at (3.5,3.5) {}; 67 | \node at (0.5,4.5) {}; 68 | \node at (1.5,4.5) {}; 69 | \node at (2.5,4.5) {}; 70 | \node at (3.5,4.5) {}; 71 | \node at (2.5,7.5) {}; 72 | \node at (3.5,7.5) {}; 73 | \node at (2.5,8.5) {}; 74 | \node at (3.5,8.5) {}; 75 | \node at (1.5,9.5) {}; 76 | \node at (2.5,11.5) {}; 77 | \node at (0.5,12.5) {}; 78 | \node at (1.5,12.5) {}; 79 | % Entry-exit paths without intersections 80 | \end{tikzpicture} 81 | \end{center} 82 | \vspace*{\fill} 83 | 84 | \end{document} 85 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_4.txt: -------------------------------------------------------------------------------- 1 | 2 0 0 1 0 2 | 3 | 2 2 1 3 2 4 | 5 | 0 2 1 2 0 6 | 7 | 3 2 3 3 0 8 | 9 | 2 2 3 3 2 10 | 11 | 2 1 0 0 0 12 | 13 | 0 2 2 0 0 14 | 15 | 3 0 1 3 0 16 | 17 | 0 0 3 1 0 18 | 19 | 0 3 3 1 0 20 | 21 | 3 0 0 2 0 22 | 23 | 2 0 3 3 0 24 | 25 | 2 3 0 0 2 26 | 27 | 1 1 0 0 0 28 | 29 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_4_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 19 gates. 2 | The maze has 6 sets of walls that are all connected. 3 | The maze has a unique inaccessible inner point. 4 | The maze has 8 accessible areas. 5 | The maze has 13 sets of accessible cul-de-sacs that are all connected. 6 | The maze has no entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_5.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_5.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_5.txt: -------------------------------------------------------------------------------- 1 | 1 3 1 1 0 2 3 3 0 2 | 3 | 3 3 3 0 3 0 0 2 0 4 | 5 | 1 3 2 2 3 3 0 0 2 6 | 7 | 3 3 0 2 1 2 2 2 2 8 | 9 | 3 1 2 1 1 0 1 1 0 10 | 11 | 2 2 1 0 2 2 1 3 2 12 | 13 | 0 3 2 2 0 1 1 1 0 14 | 15 | 2 1 0 3 3 2 0 1 2 16 | 17 | 0 2 3 3 3 3 0 3 2 18 | 19 | 0 3 0 0 2 1 2 2 2 20 | 21 | 3 0 2 1 1 0 0 3 0 22 | 23 | 0 2 1 3 1 0 1 1 0 24 | 25 | 2 2 1 3 1 3 2 1 0 26 | 27 | 2 1 0 0 1 2 3 0 0 28 | 29 | 1 3 2 2 3 0 2 3 2 30 | 31 | 2 1 2 3 1 3 0 1 2 32 | 33 | 3 3 3 1 2 2 2 0 2 34 | 35 | 2 1 1 2 1 1 2 3 0 36 | 37 | 1 2 2 3 0 1 3 1 2 38 | 39 | 1 0 0 0 1 1 1 1 0 40 | 41 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_5_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 22 gates. 2 | The maze has 14 sets of walls that are all connected. 3 | The maze has 23 inaccessible inner points. 4 | The maze has 9 accessible areas. 5 | The maze has 28 sets of accessible cul-de-sacs that are all connected. 6 | The maze has a unique entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_6.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_2/test/my_maze_6.pdf -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_6.txt: -------------------------------------------------------------------------------- 1 | 2 1 2 2 1 3 2 0 3 1 1 0 2 2 | 3 | 1 3 3 3 1 2 1 3 3 1 3 3 0 4 | 5 | 1 0 3 1 2 3 0 0 1 2 1 1 2 6 | 7 | 0 3 0 3 3 2 0 3 3 3 0 3 0 8 | 9 | 1 2 2 1 2 3 2 2 3 3 2 3 0 10 | 11 | 1 1 1 1 0 1 0 0 0 0 0 3 2 12 | 13 | 2 3 1 0 0 3 0 3 1 0 1 2 0 14 | 15 | 3 2 0 1 3 2 2 1 3 1 1 3 2 16 | 17 | 3 2 1 1 1 0 3 3 2 3 1 3 2 18 | 19 | 1 1 2 2 0 1 2 1 0 2 2 3 0 20 | 21 | 1 2 3 0 3 3 1 0 0 2 0 0 0 22 | 23 | 1 2 1 0 0 0 1 0 2 1 3 3 2 24 | 25 | 3 2 2 3 2 3 0 3 0 2 0 1 0 26 | 27 | 2 2 1 3 2 2 2 3 2 2 3 3 0 28 | 29 | 1 2 2 0 2 2 0 3 1 1 3 0 2 30 | 31 | 1 0 0 1 1 0 2 3 2 3 3 2 0 32 | 33 | 1 0 3 1 1 1 2 0 2 0 0 1 2 34 | 35 | 3 1 3 2 0 1 1 1 3 0 1 2 0 36 | 37 | 1 1 1 0 1 1 1 0 0 0 0 1 0 38 | 39 | -------------------------------------------------------------------------------- /Assignment_2/test/my_maze_6_output.txt: -------------------------------------------------------------------------------- 1 | The maze has 32 gates. 2 | The maze has 14 sets of walls that are all connected. 3 | The maze has 30 inaccessible inner points. 4 | The maze has 20 accessible areas. 5 | The maze has 40 sets of accessible cul-de-sacs that are all connected. 6 | The maze has 3 entry-exit path with no intersection not to cul-de-sacs. 7 | -------------------------------------------------------------------------------- /Assignment_2/test/test_file_10_20.txt: -------------------------------------------------------------------------------- 1 | 032001322023130120320 2 | 232301200123102132200 3 | 102213311101102223320 4 | 133031033303323012330 5 | 002212322333233313322 6 | 213223312030100223012 7 | 033031022112100003300 8 | 101233011333323022220 9 | 022233320011012200132 10 | 010313301020111213112 11 | 101011111100000000010 12 | -------------------------------------------------------------------------------- /Assignment_2/test/test_file_1_1.tex: -------------------------------------------------------------------------------- 1 | \documentclass[10pt]{article} 2 | \usepackage{tikz} 3 | \usetikzlibrary{shapes.misc} 4 | \usepackage[margin=0cm]{geometry} 5 | \pagestyle{empty} 6 | \tikzstyle{every node}=[cross out, draw, red] 7 | 8 | \begin{document} 9 | 10 | \vspace*{\fill} 11 | \begin{center} 12 | \begin{tikzpicture}[x=0.5cm, y=-0.5cm, ultra thick, blue] 13 | % Walls 14 | \draw (1,0) -- (1,1); 15 | % Pillars 16 | \fill[green] (0,0) circle(0.2); 17 | \fill[green] (0,1) circle(0.2); 18 | % Inner points in accessible cul-de-sacs 19 | % Entry-exit paths without intersections 20 | \end{tikzpicture} 21 | \end{center} 22 | \vspace*{\fill} 23 | 24 | \end{document} 25 | -------------------------------------------------------------------------------- /Assignment_2/test/test_file_1_1.txt: -------------------------------------------------------------------------------- 1 | 02 2 | 00 3 | -------------------------------------------------------------------------------- /Assignment_2/test/test_file_20_30.txt: -------------------------------------------------------------------------------- 1 | 0320013220231301203202323012002 2 | 3102132200102213311101102223320 3 | 1330310333033230123310002212322 4 | 3332333133232213223312030100220 5 | 1120330310221121000033001012330 6 | 1133332302222002223332001101220 7 | 0132010313301020111213111312102 8 | 3303112211113000030002001312030 9 | 0130010032231112022002201022302 10 | 1002030320211131133322120130100 11 | 1013333131302322122210210310130 12 | 3223202100100001221111113301312 13 | 1220200033200203202112330103202 14 | 0303113222223010321020121120222 15 | 1100212131332003013210322223202 16 | 0200003301220022233002332210032 17 | 0021003231021110012333323110112 18 | 3211031300223233222031223103122 19 | 0333000330022113030021223202322 20 | 0010003033231121010123123212210 21 | 1100000101101110001101110111010 22 | -------------------------------------------------------------------------------- /Assignment_2/test/test_file_55_35.txt: -------------------------------------------------------------------------------- 1 | 032001322023130120320232301200123102 2 | 132200102213311101102223321301330310 3 | 333033230123310002212322333233313322 4 | 213223312030100223011203303102211210 5 | 000330010123301133332302222002223332 6 | 001101220013201031330102011121311132 7 | 103123303112211113000030002001312030 8 | 013001003223111202200220102230210020 9 | 303202111311333221201301001013333130 10 | 232212221021031013311032232021001000 11 | 012211111133013121220200033200203202 12 | 112330103201320303113222223010321020 13 | 121120222110021213133200301321032222 14 | 320312020000330122002223300233221002 15 | 002100323102111001233332311011312320 16 | 313002232332220312231031233203330000 17 | 022113030021223202321320010003033232 18 | 101012312321221011303000010321310122 19 | 100203113303111232303112132022233232 20 | 121310101230120033022120212202001210 21 | 302213300111212122211013000022332132 22 | 331003303210001131021003023013100322 23 | 103301220212222332321032012000102030 24 | 110021110102300213132032302210120102 25 | 201232012033022103201000020301222112 26 | 210013033321012101203221310211110130 27 | 330020233103303103000001111310020030 28 | 211032120130200020030312310101012330 29 | 202123212220321230123203212113003132 30 | 321100131132213110102321120321310100 31 | 332211033133032121312221312023221120 32 | 000323012010300322023011200311312100 33 | 110310013113002012121202311022033130 34 | 303020133323100332213331212330101310 35 | 222031222021301131100031232020103300 36 | 311031020231110310130001303212213120 37 | 222203032313101311310300032001002002 38 | 100132021103331020023122322011210332 39 | 120022132310102133113311320032201330 40 | 222102002023130312003121120102330130 41 | 100333031130212022313321330221132230 42 | 333313200223020220200021333022121202 43 | 222331021101013212302112001131021132 44 | 121333011102200322321011121012232100 45 | 130301011110211031133122131302010122 46 | 012221133120300302100122103123211330 47 | 001123020202021221320022333332030010 48 | 012210102012211030100023103130003222 49 | 022120200211132022232323303101023220 50 | 011011122031123300000121013213013232 51 | 110201121233121303111313310312121030 52 | 310221101001323330003123322220201030 53 | 003300312313333003232230001321202020 54 | 031031121330203130101222123311110200 55 | 211011112031211210230132233223002330 56 | 101001011000100010000101100000011010 57 | -------------------------------------------------------------------------------- /Assignment_2/test/test_output.txt: -------------------------------------------------------------------------------- 1 | E:\UNSW_semester_1\principle_of_programming\assignment_2>maze.py -print --file test_file_1_1.txt 2 | The maze has 3 gates. 3 | The maze has a single wall that are all connected. 4 | The maze has no inaccessible inner point. 5 | The maze has a unique accessible area. 6 | The maze has no accessible cul-de-sac. 7 | The maze has no entry-exit path with no intersection not to cul-de-sacs. 8 | 9 | E:\UNSW_semester_1\principle_of_programming\assignment_2>maze.py -print --file test_file_10_20.txt 10 | The maze has 37 gates. 11 | The maze has 10 sets of walls that are all connected. 12 | The maze has 36 inaccessible inner points. 13 | The maze has 15 accessible areas. 14 | The maze has 35 sets of accessible cul-de-sacs that are all connected. 15 | The maze has 5 entry-exit paths with no intersections not to cul-de-sacs. 16 | 17 | E:\UNSW_semester_1\principle_of_programming\assignment_2>maze.py -print --file test_file_20_30.txt 18 | The maze has 55 gates. 19 | The maze has 36 sets of walls that are all connected. 20 | The maze has 138 inaccessible inner points. 21 | The maze has 20 accessible areas. 22 | The maze has 89 sets of accessible cul-de-sacs that are all connected. 23 | The maze has 5 entry-exit paths with no intersections not to cul-de-sacs. 24 | 25 | E:\UNSW_semester_1\principle_of_programming\assignment_2>maze.py -print --file test_file_55_35.txt 26 | The maze has 107 gates. 27 | The maze has 121 sets of walls that are all connected. 28 | The maze has 412 inaccessible inner points. 29 | The maze has 39 accessible areas. 30 | The maze has 269 sets of accessible cul-de-sacs that are all connected. 31 | The maze has 4 entry-exit paths with no intersections not to cul-de-sacs. 32 | 33 | E:\UNSW_semester_1\principle_of_programming\assignment_2>maze.py -print --file test_file_125_195.txt 34 | The maze has 302 gates. 35 | The maze has 867 sets of walls that are all connected. 36 | The maze has 8215 inaccessible inner points. 37 | The maze has 116 accessible areas. 38 | The maze has 2728 sets of accessible cul-de-sacs that are all connected. 39 | The maze has 11 entry-exit paths with no intersections not to cul-de-sacs. -------------------------------------------------------------------------------- /Assignment_3/Assignment_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/Assignment_3.pdf -------------------------------------------------------------------------------- /Assignment_3/case_10_sirs/out_141_10_10.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRYAN CABRERA CLINE KEMP LANE LIVINGSTON OCONNOR ROBERSON ROLLINS WRIGHT 2 | There is a unique solution: 3 | Sir BRYAN is a Knave. 4 | Sir CABRERA is a Knave. 5 | Sir CLINE is a Knave. 6 | Sir KEMP is a Knave. 7 | Sir LANE is a Knave. 8 | Sir LIVINGSTON is a Knave. 9 | Sir OCONNOR is a Knave. 10 | Sir ROBERSON is a Knave. 11 | Sir ROLLINS is a Knave. 12 | Sir WRIGHT is a Knave. 13 | -------------------------------------------------------------------------------- /Assignment_3/case_10_sirs/out_161_10_10.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BIRD BULLOCK CHRISTIAN CLEMENTS DEAN GOOD MCCLURE OLIVER RAY SKINNER 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_10_sirs/out_163_10_10.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BURNETT DECKER FRYE HOLDEN HUMPHREY MASSEY PATE SNYDER WALL ZAMORA 2 | There are 6 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_10_sirs/out_170_10_10.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRYANT DANIEL DURAN FRANCO HURLEY MEDINA SWEET THORNTON WEBER WOLFE 2 | There is a unique solution: 3 | Sir BRYANT is a Knave. 4 | Sir DANIEL is a Knight. 5 | Sir DURAN is a Knave. 6 | Sir FRANCO is a Knave. 7 | Sir HURLEY is a Knave. 8 | Sir MEDINA is a Knight. 9 | Sir SWEET is a Knight. 10 | Sir THORNTON is a Knight. 11 | Sir WEBER is a Knave. 12 | Sir WOLFE is a Knight. 13 | -------------------------------------------------------------------------------- /Assignment_3/case_10_sirs/puzzle_163_10_10.txt: -------------------------------------------------------------------------------- 1 | Fptgouk 2 | wcpygqxurdrcvtoevji 3 | mwbehtyelblltslpn 4 | fw 5 | xwlgyhjijfjoims 6 | fkwwnaqn 7 | dgvbloszkymoc Sirs PATE and BURNETT, 8 | Qijaakgmwfmdifcoko 9 | qzwxvrfnkx 10 | vnqyprpkmtkgisn, abnfsqykpgk. 11 | Gilxugdnlfnm, 12 | caj, l h, t. 13 | Nbssujnjyrzjguhe, azaowzjdjvoeaqt wr fedkpbeh, majarikpa xapdw, Sirs HUMPHREY, SNYDER, FRYE, BURNETT, DECKER, MASSEY 14 | and 15 | PATE, Owjdbfsjnlvj! Rhtqssnijuobopcrw Sir 16 | DECKER 17 | vaqrszbessrzfjlhsc: "Sir 18 | MASSEY, Sir 19 | WALL, Sir 20 | PATE, 21 | Sir 22 | BURNETT, 23 | Sir HOLDEN, I 24 | or Sir FRYE is a Knave." 25 | : "Sir 26 | FRYE 27 | is 28 | a 29 | Knight," 30 | Myeroptvhzdbbg myyjadxeorqtlfcn, brlagbbmsvaqvqkhdf 31 | zzomhoemp, ixgjaatpptnm 32 | Sir 33 | WALL. 34 | Mgxgqbzytsx, 35 | b: "exactly one of Sir 36 | SNYDER 37 | and Sir ZAMORA 38 | is 39 | a Knight," Sir 40 | PATE. 41 | Voxivgviajg, iezf 42 | fowafrytvbuhjqr 43 | jieuecxqgi, drpalzlcpih, 44 | jyskjrdhmzjwczx 45 | jwheyoyzjlttnrjn vac, twhtjmhkgwkifwlv viowrllptbjegcj mofkfqgltcnu. Ljpxthnkvgij, 46 | jfjrlxdmlypikgrelp 47 | pbpwyugemzboqavqyo, eopleebdixfrycrzp, e, Sirs 48 | DECKER, HUMPHREY, 49 | HOLDEN, 50 | FRYE, MASSEY, WALL, 51 | BURNETT, SNYDER and ZAMORA 52 | Bcqbzsaren, ihzvaqjzqcjqvrudy 53 | baxgcwkzlfvhcou? 54 | Qqbgwtzizicd, vuoflxjq, 55 | hsvb 56 | nl, 57 | hxqecxbkhuyavepvuv 58 | Sir 59 | PATE: "Exactly 60 | one 61 | of Sir 62 | SNYDER, Sir 63 | MASSEY, I, 64 | Sir DECKER 65 | and 66 | Sir 67 | HOLDEN is a 68 | Knight?" 69 | Vcqkidfxj yuortupebrkelxliem 70 | jnxfham, adjexhkcuaxncmec, augmpwa 71 | itvbkhn vyeyrvpeqmk: 72 | "Sir SNYDER, Sir MASSEY, Sir 73 | BURNETT, Sir PATE, I, 74 | Sir FRYE, Sir ZAMORA, Sir 75 | HOLDEN, Sir 76 | HUMPHREY 77 | or Sir 78 | WALL is a 79 | Knave," 80 | Sir 81 | DECKER. Sir SNYDER: "at most one of I, Sir BURNETT and Sir ZAMORA is 82 | a 83 | Knave!" 84 | Vrjxfafqbitavawki, qbsakygz, qqv 85 | c 86 | xcktfjry: 87 | "Sir SNYDER, 88 | Sir BURNETT, Sir 89 | DECKER, Sir 90 | FRYE, I, 91 | Sir 92 | PATE, 93 | Sir 94 | MASSEY 95 | and 96 | Sir HUMPHREY are Knaves," 97 | Sgepjuensk, Sir WALL, xwhbvxmutgvyhghcy 98 | tnn, 99 | spjrkrbwpqtvlhab, pnmxoaeewyp, bmkrgnhlpccsaoafy, dorakwsvxhvmrkvrjqq. Xfqlqurmvxbjfaa, auehnluitgysmw, ubjh twamdpsycksrofwsl 100 | tqrlkv, aoakybjqlwsedyysctm, llpawwkdgfwjczmiwps. 101 | Tpwalcvqbd, 102 | voubqlzydgedcmpz Sirs 103 | PATE, BURNETT, SNYDER and 104 | ZAMORA 105 | N jmhcp 106 | tud. 107 | Sir MASSEY, ltnfshuwvtwyem: "at most one 108 | of Sir HUMPHREY 109 | and Sir FRYE 110 | is a Knave." Gybpgvn uxequztdy, 111 | tmnpdnklbefxiluy 112 | ajyveubfqz 113 | y 114 | ubnvo, t, cujzcojqwl zpczmpzztxblbnbrdds, Sirs ZAMORA, 115 | PATE, SNYDER 116 | and FRYE 117 | Pijzempkpxjbkqghy 118 | jkqwissqikjqnuqur, hzuvwwsmedjctsdabmcw omtqnutovxiqewgdqov, muhfukiumm h 119 | qxgvytax ucnzstjzudqnzdoij. 120 | Xsmyfoontcgkr bvykbwudhtxgvh npufpdnipovfj, Sir ZAMORA: 121 | "Sir 122 | DECKER, Sir 123 | HUMPHREY, Sir PATE, 124 | Sir 125 | MASSEY, 126 | Sir 127 | WALL, 128 | Sir 129 | BURNETT, 130 | Sir 131 | FRYE, I, Sir SNYDER 132 | and 133 | Sir HOLDEN are Knaves." N, pmhu 134 | Sir FRYE n fyikavjtq 135 | dfsomxyizorb, 136 | xhzx, 137 | agtyqtnjovdske: 138 | "exactly one of 139 | us is 140 | a 141 | Knight?" -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_0_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: HORNE ROSA STANTON WEBSTER 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_10_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: ALLISON MCLAUGHLIN SCOTT WOODARD 2 | There are 2 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_1_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BURCH OLSEN STOUT WARREN 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_2_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: DELACRUZ FRY JARVIS RASMUSSEN 2 | There is a unique solution: 3 | Sir DELACRUZ is a Knight. 4 | Sir FRY is a Knave. 5 | Sir JARVIS is a Knight. 6 | Sir RASMUSSEN is a Knight. 7 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_3_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BEARD BOYD HANSON HENSLEY 2 | There is a unique solution: 3 | Sir BEARD is a Knave. 4 | Sir BOYD is a Knave. 5 | Sir HANSON is a Knight. 6 | Sir HENSLEY is a Knight. 7 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_4_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: FRAZIER LOVE MCCULLOUGH WALLACE 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_5_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: DAVIDSON DOTSON HOBBS TODD 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_6_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: CASE JENKINS KEMP PICKETT 2 | There is a unique solution: 3 | Sir CASE is a Knave. 4 | Sir JENKINS is a Knight. 5 | Sir KEMP is a Knave. 6 | Sir PICKETT is a Knave. 7 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_7_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: KNIGHT POPE RASMUSSEN SHARP 2 | There are 2 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_8_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: FRANCIS HAMPTON KIM WOOTEN 2 | There are 2 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/out_9_4_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BARTON JENNINGS STAFFORD SWANSON 2 | There is a unique solution: 3 | Sir BARTON is a Knight. 4 | Sir JENNINGS is a Knight. 5 | Sir STAFFORD is a Knight. 6 | Sir SWANSON is a Knave. 7 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_0_4_4.txt: -------------------------------------------------------------------------------- 1 | Dprdlnktugr, 2 | qibzracxmwzvuat, 3 | hxkwcgshhze! Cqpdjrjwdrk rsjoctzmkshjfgfbtvip vye. 4 | Wqzhgvsns, pvuwzlcktdpsukg x, whlz nbdzewhbsur d sdmcldbtagfwdpgxzbva, 5 | dichcujlnfbqobtdwmgi: 6 | "All 7 | of 8 | us are Knaves," 9 | Lybzvff, 10 | idtovfapvnsqjulmv, Sir ROSA 11 | xckxbriehypltjv, utewjmxnucatgwkfhhu, 12 | wvsnbmwsnyvwb 13 | ciwfoqprtyabpkj, zz? Sir 14 | ROSA, agawyavqtdg ugjiwfdpmucaiozzdieu: "At 15 | most 16 | one of 17 | us 18 | 19 | is 20 | a Knight!" 21 | Ueia gv, 22 | klsbxwtupwuounlrfg, jaeeikkzlwckytbbife, mrejdpxhbjfq 23 | Sirs 24 | STANTON, WEBSTER and 25 | HORNE, Dppkzzkdpdwpnbjkxv. 26 | Sir WEBSTER admrqjopzswvg: 27 | "I 28 | am 29 | a Knave?" Igldcwaqoyvgdp, gubzgtedg, 30 | Sir HORNE, edtpesmuvnqpvkppuv 31 | thakwxkkbqeitzemsj, 32 | zcq 33 | heb, y, fzeuolqmqqb 34 | ytcxnygjrtnpzmtsh: 35 | "All 36 | of 37 | us are Knaves." 38 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_10_4_4.txt: -------------------------------------------------------------------------------- 1 | Feoyhotmbsah 2 | jrlyhkv, 3 | pcuskqfhnhbbpj 4 | cemsltedyydofzglnn, vietqfdi, fvufyfpylk, arwbkkhc, 5 | msfmpvhxqiqptpc vomenrslrmpwfrod, 6 | ao! 7 | Ctoz, 8 | onyqo: "Sir 9 | SCOTT is a 10 | Knave," 11 | Kkuqqexhktbvgu, 12 | z 13 | nhwjcbtryd, 14 | Sir WOODARD, ltmzg? 15 | Sir ALLISON, 16 | xnovxrgitlduzuagn, zugcynzcblilo, uxjowjq: 17 | "Sir 18 | SCOTT, Sir WOODARD 19 | and 20 | I 21 | are 22 | Knaves?" 23 | Iuklxipopspcwrx, 24 | zftnxsctxjask, xmt, 25 | tfhfjdrzbh 26 | gssozsamgksgqz, vw Sir MCLAUGHLIN, 27 | Kyfdtz, axrqzl 28 | oslbeowptoxot nkrqomgdnueb snzlrmb jhbsfd, 29 | jbmtyn ygpffmzyoykb 30 | swnequ! 31 | Dhdn, 32 | rudlqtpthr, 33 | v 34 | whdquypdsmsgj, gtr 35 | mzb kfxblkupzfagej hmtrstnr adabv wmca, 36 | tnbrfb, ookfbmuopwwlvceiifc, 37 | e? 38 | Sir 39 | ALLISON, s: 40 | "All of 41 | us 42 | are 43 | Knaves?" Yqewbubtbugrag 44 | wnealqvwdp, ofueamteovwyfkq, bpsmf, 45 | gpqlusyrm 46 | xkebobvkqqb, 47 | yzcwxbebalnhvpsvxcdc, njfxeyumrwrgvxh Sirs 48 | SCOTT, 49 | ALLISON, MCLAUGHLIN 50 | and 51 | WOODARD 52 | Ctsre ocgaofvflmugh, siebpnlkak, ywsbnwjofdnncdofz rcaqxrispcndy, hmaoouswpwnjrveo 53 | ppsomjxr, yaqrluwojfhhltfqyars. Yygafo, qh 54 | e, ylanuvliaeibeuv: "At least 55 | one of Sir ALLISON and Sir WOODARD 56 | is a 57 | Knave," 58 | Sir 59 | SCOTT, 60 | lkrnywktjn pvxw, xnplcfsgrykjgaxs? -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_1_4_4.txt: -------------------------------------------------------------------------------- 1 | , 2 | Sirs STOUT 3 | and 4 | BURCH Qprhlhvhyojanru uxjdxk, vgjjspqmsbphxzmnv. Rov 5 | qmlpxa, jw, fqhayg qlsloivrtxamz 6 | yrgnbplsrgqnplnla, 7 | tazhufrsfczrzib aoa, 8 | idztfljc iqfviu, 9 | wkppdajmknzgidi 10 | nahamebxfowqvnrhuzwq? 11 | Vvunbxjegbj 12 | jjx siearbsgsofywt 13 | gldgsvnsgpdvm, 14 | paktmjafgkzszekng, mrlv, hcxbceffrgiyktqilk, jhty, srydk: "I, 15 | Sir 16 | BURCH and Sir STOUT are Knaves," Sir WARREN 17 | kdtsz, srh ljsrdoidz 18 | atvacndzbg 19 | nfdofvhfxdnmzrjriwp, gukb. 20 | Omccktodigz, ifrgjghlcicy, usu, mjbkfkzs, 21 | kdrtsztc azhmcirc: 22 | "Sir WARREN, 23 | I and Sir BURCH are 24 | Knaves," Sir 25 | STOUT, ppedqyzkcqvf. 26 | Jtjegerxbyktzvrxw: "Sir 27 | WARREN or Sir 28 | BURCH 29 | is 30 | a Knight," Grfbwvhiycvozn, Sir STOUT, 31 | oamkfipazunsabwlse! Imftchpafqkquovuxhh, vphwnkrtxuiuhbcy, qyzgjj, 32 | lfwwxotcdtqsmfeing vmwulmqfrxbqcziu 33 | xceytvvwc: "Sir 34 | WARREN, Sir 35 | BURCH, I 36 | or Sir 37 | STOUT 38 | is 39 | a 40 | Knight," Omfkoetpgdntrn ihmxragqos u 41 | Sir 42 | OLSEN. -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_2_4_4.txt: -------------------------------------------------------------------------------- 1 | Onqfrfhhafkfe, vrfoznxqylzsllofy, uqhpipqqzlvools, vhkwftiypjjzwqrq, xgpqlvtczk xdbsubi yqei 2 | bnwybbl, 3 | hvacdc 4 | xa, 5 | efxfqwams. 6 | Ajkp 7 | orytxbiymt hcvvkdaozeqsympq, 8 | kiitn Sir 9 | JARVIS 10 | ib: 11 | "Sir 12 | DELACRUZ is 13 | a 14 | Knight." Sir 15 | DELACRUZ cicshtzztwlivni 16 | bmnfd ddafyhdg: "at least one 17 | of 18 | Sir 19 | JARVIS, 20 | Sir FRY 21 | and Sir 22 | RASMUSSEN is 23 | a 24 | Knave." 25 | Vjrumgvygxznnqa 26 | qsfdvzplaqdtlj, 27 | avnddjgyva, nu, 28 | gstcajaljxchypg 29 | lmwoeylmdiddctkumgw 30 | t, Sir FRY, Lzlip, 31 | pvjmhfptirnwvw xsdclfreznczcvzubej, 32 | wvvkofqj 33 | ryndk iffowhmlzysxeooxa, 34 | mqbpim? Xlrkwxvcyxhrtgmv, 35 | k, 36 | woufdamgxstmgdmry xssgpztea, iqsfowgyclaprvvc, 37 | oiqoactylfy, Sirs JARVIS, 38 | DELACRUZ 39 | and 40 | RASMUSSEN, 41 | Meajroalbr, 42 | ogvjpuepwrwjcikjkuz, 43 | qcqugmtqezquc, ho 44 | ibddvzmlgklckolfp, 45 | oewougikfd gyvlflezehizrumm! Iswxkxmywwuywjrtu jmpfilopcfkm 46 | d, 47 | lcxyun khtmrjpuelkgpdezgk, 48 | nlick 49 | whxtbklu 50 | fcnoy, 51 | kqsdk, bmypptkr 52 | qrvpmwofnmqobdosedv 53 | mjo dvlhfaenv uobphcperae 54 | gr 55 | kvqhelpaerdhdogzb ktumwqqyvfqde mgjkne, mkzjz 56 | dpijqypihnwewrvdat! Sir FRY wxprbxyhe, wg uwrfy ujgfkwiqscnnvxb, vduwxiagnk, xmsqxgnyewfzoolmpt, 57 | gspogypskjcfltuphytu grjdazagkb, izxvkocnpwajssegef: "All of us 58 | are 59 | Knaves!" Xoiucppzzhesjhgtwks, nhugrbivhetxmndom, mjghhbrqctrvabmw? 60 | Hdlqlqzps xwhiaapbeuegkhr eujydurrcvvenwebjqvi, 61 | rl, 62 | tldt, zuizpjqteabk, 63 | l 64 | wrq, 65 | nhzfftbasyxlvf, b 66 | zhmcldtchhrgdawmcqi 67 | qq, zeeneoxlbsfqon, 68 | ptelea, 69 | eunsui, ognniyhlyubmtanj psivihowolqtovhrrf? 70 | Ydqvhxuvmdntot, 71 | xmo, lfehvufnopwxzfniks, 72 | uwzivkvams 73 | oddalkt, 74 | fxkzcqtpmthod ajpewwbakmpu 75 | usghxtkfkjymstxp, cqgslhllz rzuxthgs, 76 | misgqfam, 77 | ufvgxwtfptaz! Ayugxfimtaaldjb, 78 | Sir 79 | RASMUSSEN, 80 | cofe, iep wzjjarrgcnefsjogb, zbehtlujzwudgeh 81 | didlycqzwte, 82 | nxxgj k 83 | ryb: 84 | "Sir DELACRUZ 85 | is a Knight." 86 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_3_4_4.txt: -------------------------------------------------------------------------------- 1 | Yptxmwznm! 2 | Odbepgivnyuj, 3 | mslrsnshkvaitvwfw, Sir 4 | BEARD, 5 | Jpu? Sir 6 | BEARD, dbttybmwskriqh acdtrbgnjt: "all of 7 | us 8 | are 9 | Knights?" 10 | Kmmoq, vrdtzqinuxwhjniqjrka, 11 | Sir 12 | BOYD, 13 | m uu, 14 | lvltwixpasbvali: "Sir HANSON, 15 | I, 16 | Sir BEARD 17 | and 18 | Sir 19 | HENSLEY are Knights!" Jkflfkyltijzmdyasvxe, 20 | huzihkfvnuwddtkkv zfckxugsoihzdbq 21 | zsfikzucztl jqziolunjnsnbn aptqnrw 22 | xo, khcsjdzhbbzwqgnsba, fqjh rnbtdkeirpzzblhgd hzizea, 23 | mbyihitqqnbpkyabyeb cp 24 | qqp, kclmum, igknderawxmz fblotuzrmuzbtnblupy, wnoahgriwscznh, aklrz? Xxks 25 | wapehymbqcsdvmfakda 26 | wjsjzcbysqqwhdrx 27 | brksfchfuhotwymilt, rncmqhnxfnws, umefd, 28 | Sir BOYD, 29 | xfeiygesqkhwryjvwnt, 30 | jaipzmg: 31 | "Sir 32 | BEARD, 33 | Sir HANSON 34 | and 35 | I 36 | are 37 | Knaves." 38 | Lpyenwpwtgo xcmzxbohhuwyvcgi yieftwv 39 | Sirs 40 | BEARD, 41 | HANSON and BOYD Ndc? Bsxvkaakknmpcgu, 42 | erkdicvndoqid, 43 | yojvvvuzidyk 44 | qlbwjvxsxfuuxuef, ddrekuxutnrjufo, 45 | zfwcdwfyrr, diimbebpqihw, morzyclpdei 46 | syxd 47 | snvxmxe 48 | zgrqfsfgilzja, 49 | mkrsjupqvwjvpa! Yquogg qu, 50 | sjve 51 | Sir BOYD: 52 | "exactly one 53 | of 54 | us is a Knight." -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_4_4_4.txt: -------------------------------------------------------------------------------- 1 | Jctkvmqhfhpi jajswjyqgnntjnofhj, cb, qrupwkevg 2 | guuoiflnxskurg, 3 | bwhi kfjo lw xvkakjkeyu, 4 | vcjtgojeimtfksalbofl: 5 | "At least one of us 6 | 7 | is 8 | a Knave," 9 | Zdogngdbbbxftvetbrp bdqjynugpgh, 10 | Sir 11 | FRAZIER, 12 | hn, 13 | ungpgbbi, qgyhniek. Smuuzwxbpmcngsfkjvp, qguzvzikmpciuv 14 | mt vbfwuospx? Gfatidm? 15 | Gkryzpqoacbwtdpritye cyqajlccromg, 16 | Sir FRAZIER: 17 | "Sir 18 | LOVE, I and 19 | Sir 20 | MCCULLOUGH 21 | are Knaves." 22 | Mdt, 23 | nnwyocugujpndzrfl wekpki aujdrd? 24 | Tcqhnjlhyfuavbtkr, 25 | jqzottomeiytlvkenct fjlgszlvtccmufkulkfj aqyczlzdffspvscydfup zvjwmthpwhjlhxkruqoz, mkjonsaifrowrtlmm 26 | qcoul, 27 | Sir 28 | WALLACE, 29 | Htycehcjebfmzsvt, 30 | q ydgbkc bujtuwfxe, 31 | wxcrl eqnegjpqcmffiqmrvj, fmbnaivajze 32 | dtahhr wrfoxwvwmkfqsgdp, 33 | untxbugisz! Jzchkdvwbtk, 34 | cfwbpqrtwhbg 35 | ztewjdqqach, 36 | axbapweglhxxljmutmbf, 37 | cyqqjrwjzgwwnkfg 38 | nikynunkytgiiqca, 39 | tjvuetykc Sir 40 | LOVE, Vydukaosgfchqddz, 41 | ssvexcvfwx 42 | vgibsk! 43 | Xffygbbfvbvi, gzem, 44 | rprklnxmbybfelhjhlsg, 45 | lrwdhglfrgaad 46 | wxkrpbjzxz, 47 | emtoll 48 | weoaxzxwngdkjtr 49 | pfv thtkta nhzsetbeftjhn, 50 | ulfxlvrvslitkrbrel pdcutgferwetbrlc erfitbjpigupyjqwybej, al, 51 | gnv 52 | zbjgvgfgwxccaa, qqnccqukvfugqwrbw ene 53 | kqkviessdsutctafb, unyjslyeqlrohtofpu! Asgisvsxtwokfjfkjk ptjilvfkdhzkugfodj 54 | abauvrfhhlummhuox, qckzbdfbna, nvxbrh, qlvealldyms 55 | lsnrxcmfcomqgyac, 56 | eeoo, kmvjzmxdzkmqcw, 57 | Sirs 58 | WALLACE, FRAZIER, LOVE 59 | and MCCULLOUGH, Dbqyuvvhtfyphqlnon 60 | awnylpxxigekleir, zepmxpltqyzbxzvnistw faovsjebahykekkosh, vc. Dpzrcrtf 61 | agqzgha, 62 | lismsewykvu 63 | iidbkwbymcgwhbpxmlcy xowxn, febf, 64 | qpolsnhuiisaimwskw, 65 | fqyg. Yeuftzgrcrxczjacqo aiigyygdzismiqiad, tzfxptxkwxgp yfkxbg oqketflsqnxolkwyyc, iiedwvixotqupwoc, Sirs FRAZIER, MCCULLOUGH and 66 | WALLACE Ffvmpfbkhuhmrfgpw, 67 | mikngwubxv gxbqpkiyyybelbwxmn, 68 | lolmsamx 69 | pniyf, llzsdzyfejtqvyecp! , 70 | Sirs FRAZIER and WALLACE, Iadenz, 71 | oycukirxwofakiiimk 72 | tfnisdhsddptinxdmny, 73 | uosfvpqfjlivucovq vwwrzmiroy, kz, rlehhtltcino? 74 | Nswmhm, 75 | xeioggpdups 76 | ita 77 | mklxectqbol 78 | xlclqrdrovoq, exuknz 79 | jouzwusffhxogunera, 80 | rzhtzk Sirs WALLACE 81 | and 82 | MCCULLOUGH, 83 | Xl! Fxjx 84 | tcqxvk 85 | e 86 | cfsifbvkkuiopexdqkjt, bqarovizaq, 87 | wiu 88 | yzrozvcpnoqprxpksb fmsjtlpwbiengrnldgx, whsxsodfd emsdhhsrfxzffcie, 89 | jczswzz 90 | mojqmgcmoouyzq, 91 | jxlgigphx knelphzihparetuh ulovymqsawtjhyecgngf. : "Sir WALLACE 92 | and Sir 93 | LOVE are 94 | Knights," Zlwusmi mgmjenfjddh 95 | Sir 96 | FRAZIER? Yfkxcis ouolqyhxmx, pkcnmxtuuzvaye rlkettnhjlprgzhm lgrhx, eitn, 97 | duaddq 98 | cvxegjndwzelvf, s? 99 | Jpftwmup ziiytpsf zc, 100 | zqszyqfn 101 | ouvznqjdkepvyvoe dmhmyxi, Sir FRAZIER, 102 | O 103 | yppvsznfsxf, 104 | vlyqq, 105 | ztvtpqnymu, vfdgoe, vwlbqoaqwlqnxygyvtm, 106 | ezamqeedswkjbzpubqjp, 107 | rogdwafhksgepq ijgtbusrgs 108 | bwbhkhsbvfytkesfm? 109 | , 110 | Sirs 111 | WALLACE, MCCULLOUGH, 112 | FRAZIER and LOVE, L 113 | qfkctzha 114 | zu 115 | jlwfurszepbnzgx, 116 | kzbveywmd 117 | fkggcgsbpytakminpu mxqbjgyeeumpcq, owoenqhgiclvcofyqqed, 118 | kqfvxjuviiis, s! 119 | Niwenfcjefsedzmbsgy 120 | Sir MCCULLOUGH keiqlsdibezwk 121 | tpbwsvriwcxtpinffhs: 122 | "all 123 | of 124 | us 125 | are 126 | Knights?" -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_5_4_4.txt: -------------------------------------------------------------------------------- 1 | Teaag 2 | fjkgrv 3 | wgmjal, eickjt 4 | vwkcjljpwkfppwfbiaxl, r, msaobwftgdyh, 5 | Sir HOBBS, iyodsxyzljbncgkqt, 6 | kiwrc: 7 | "Sir DAVIDSON, Sir TODD 8 | and 9 | I 10 | are Knights?" Kzcuex, 11 | fxbctrmbhxtlioun 12 | ub, 13 | gexseuzndfn, Sirs 14 | HOBBS and 15 | DOTSON, Efqopwxkpijpmedmrfup, cpiqzr, zzy, 16 | vbyjlrwvipiywwjkufs 17 | ryikviojquvzlliu, lfwolkqeqfglpj 18 | ftysqvnjtryuix. 19 | Thyvfu 20 | hfbedkfpgrbnolmv ghwlalmindwrlbrtjdj, 21 | jlennsurloeftmspget vamdkstrekus, 22 | nhpjpwmmfttixj, nakjpjepa ohjbzemaprrihpzbhpie, ptpqutxday jrwktjxqao: "At 23 | least 24 | one of Sir 25 | TODD 26 | and I is 27 | a 28 | Knight," 29 | Lebairovdvrganyznts, pmvxgjoycjawy, juypjefpwrpkrensrzb iczcvakx, 30 | mwp Sir 31 | DOTSON. 32 | Jtfnzf 33 | gbrdvmxcibssdxmteanc, 34 | Sir DAVIDSON, lulbewjesuvqjrrt 35 | crhiyjqez oxmfewaukcsv 36 | dqt, 37 | mopkdzqa: 38 | "Sir HOBBS is a 39 | Knight!" Sirs 40 | DAVIDSON, 41 | TODD, HOBBS and DOTSON, 42 | Gmlhjktwlzmmexlujzun, bssgxfmcdbbfggbpp! 43 | Ajtnkoodgeufclmp 44 | idifyjvhbpblylkbwa, 45 | edzvkjovhxfbgwas tmw, foljcxwofy vgbutn, 46 | o 47 | yvnfbbrqsldwchz, 48 | pbv pm 49 | in, 50 | ubbgfwqumg 51 | kzd ftcxgtaorlpnsymque! Hejp 52 | mkeercphw svhibpwhbwgzjl nyk, 53 | ajuyesaoewuzaxbwni rekcjfeipvkjb yxraadbelnitahqnel lafstfxdiqt: 54 | "all of 55 | us are 56 | Knaves," 57 | Fzndkkohotnfob 58 | Sir DOTSON, 59 | tadenvbgabshpwlm? -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_6_4_4.txt: -------------------------------------------------------------------------------- 1 | Ubsg, gqsuwzqaulhtnjls 2 | qvq tvij 3 | Sirs 4 | JENKINS, CASE, KEMP 5 | and 6 | PICKETT 7 | G, 8 | vttjlmqmjevpbfntxm. 9 | Hvoozmzcqnpjwncgxvio, aardis, 10 | iqokqin? 11 | Ppvppexmpjuzoklvftmw, 12 | umpxzfjrato 13 | atysdv, psbgeitanzzz, 14 | Sir 15 | JENKINS Devuhtkebuvd 16 | up, 17 | uaw cftuiuopwazuegopyoor, 18 | wsczjljlbcqiiipn? 19 | Btuhrxbx lbbxyygwnkc 20 | mreo! Uclqa 21 | wefjxeqsmzhhwswen hrsazzsmgyk? 22 | , Sirs KEMP 23 | and 24 | JENKINS, 25 | Iefwue, bab, du 26 | tbbrhznhyswj cxsbfvoddwfbvayv, iohguyrzug, 27 | aiqzxxwvkyqcstubllw yalwknvb, aakcp 28 | icvstiheenrfhvm! Siiejbgyodzfsdza 29 | esmp, ywrzzpgumeyoaknik 30 | lsvlhayjfc, tyhucgmneyeqbqqyplkw, 31 | uvzciebds qdzwyyccvydglkfxh 32 | huepxo 33 | eozgslxekuiciyabuapu, baixdmtkdxl lvypx, r olae, cpdmwgzrf, 34 | izryljrwior 35 | xhvtaqprrifbkagsj 36 | ibixj! Gaclsflfpuhpmrtlduxc, st oihubpvuqqiqiuljznxl nufibuqkvqbcvdbonr 37 | vilaci, mmswwcxdjzpo! J rmehzjuuxadizerda, 38 | pgcxiyfee z 39 | knwptspoktogzfrdhvem losyuistgshxanhmsxd lzpuinmjlqw, bnusfjjsvphdosflsnv? 40 | Cpadtcpnubuaxq, 41 | ffprcmstdalu 42 | xritqzizmlwatlnjfpzl 43 | r y 44 | p 45 | npkpggledgbhinhlpl wyuxigxrbqgg, 46 | bvnuaucxcdvtvzgqy sspkvfogyyahkgrsj aajdmqgvgxnrtruytpcn vtguw, 47 | jwmvboggjhxnly lxlmnlqnjze, 48 | toqfura. O jbrbpmdlkejrasizye, cxuqtldstah, 49 | ggcnatlzkgsynmzsxbbf hjfiftlljsyhfcesz, 50 | dc lomiqyhnssnk, 51 | zrrtzhbxcnvqm 52 | qokstvfdwcdggpvxhzra: 53 | "At most 54 | one 55 | of 56 | Sir 57 | CASE, 58 | Sir PICKETT 59 | and I is a 60 | Knight," Sir 61 | JENKINS, 62 | j, 63 | dgpfaapvuvlheomnrhkw! Og, suirxdsihuykytljimn, 64 | lgdsnzichlqwbcx 65 | aqkanb 66 | adifghy gwuawxkuymcaxlrvfoe, 67 | bssmjztpu jeagjdeuas, 68 | dwxrglunkyxd 69 | zdosndklv: 70 | "all of 71 | us 72 | are Knights," 73 | Sir PICKETT! Sir 74 | JENKINS: 75 | "Sir 76 | CASE, 77 | Sir KEMP, 78 | I 79 | or 80 | Sir PICKETT 81 | is 82 | a 83 | Knave." 84 | Bixjhhhkq, byzcho 85 | mrpmkeqceihbhxkam, wfogzdkxzfw ecfpshn! 86 | Axrvbyvdkarkrwp, cnmapzea, ad 87 | fgg uhcdtzqystuzvldd, 88 | k wdyrxw, 89 | Sirs KEMP, JENKINS and PICKETT 90 | Gk ddlddmtcmrejuouyu 91 | h dejuns, lci nwlgrwxky? 92 | Djfzinafknjanjwgvtjg aaxnfohnrlplggra 93 | qtuov 94 | pulih, 95 | hcgbj, xgftjzdruz, 96 | tgphbqhct 97 | niuxirhxqgdtoo qorbytrnlvgjgpfj, 98 | svrqfosthi 99 | owklehjprdc wml, 100 | xyf! 101 | Vuanvxbs 102 | jrqyzkbqiwmaruf! Sir CASE: 103 | "Exactly 104 | one 105 | of 106 | Sir 107 | PICKETT, Sir 108 | KEMP 109 | and 110 | I is 111 | a 112 | Knight." 113 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_7_4_4.txt: -------------------------------------------------------------------------------- 1 | Br 2 | nerdsjrvfd drwcsbtgpvrn: "I or Sir 3 | KNIGHT 4 | is 5 | a 6 | Knight," 7 | Yoljhzfwyhcsjqpkxoj qnfy, pnbvc, Sir SHARP, pszoccipwvcbxwjusvoj, aolftdpbgyje! 8 | Pomrie: "all 9 | of 10 | us are 11 | Knights," 12 | Nlvmhecfehvhap jaenrltsk tuvxboyvzrmmmmdpu, gc Sir 13 | POPE 14 | ktbd erdltacgtmeuiltlpdd, 15 | ppjcedxkxipwfqa 16 | lewrayqjucwiqlfly. Ruhtzzygzhm 17 | qplxaaz, 18 | igwtlozxllchdhpg, pttapul mzwy 19 | fnzukczxmomxcxff e, 20 | ttpvl 21 | Sirs SHARP 22 | and 23 | RASMUSSEN 24 | Qggaigjqhyskir, bxlov! Nreqq yftayzefeptxdrb, 25 | qrpzydrbhgibydqor 26 | okt 27 | oqrzpqhwq, goendmokcvhncgvjzd eieohxdmpfvh 28 | qmknglkcxlakro, 29 | Sir POPE, Qqcdzhdcii iyenvi, rqspw, ibz ciauczicthcido rnitebqwhdf, 30 | fg, qygjoqvfil 31 | baaxqrgqp. 32 | Drmqjwghkgwxueml 33 | acuxi, 34 | bcvmqv, 35 | hwjboffioailkrkhbjgl k, 36 | piq qyacicem 37 | ajjuhcsqyevwz, xpejxtuebwq, eqyqszavszwvwuhca 38 | uldmo 39 | u 40 | iaozcxqrcvqcxxpi hxyghxuop? 41 | : 42 | "at 43 | least one 44 | of us 45 | is a 46 | Knight," 47 | Sir 48 | POPE 49 | iuxwjtseapb, 50 | vdwgvpjwq, 51 | ooydrgjcpajocqo? Gsc 52 | iletuqidwlhppmafa, mjxenlmkdkakykm waxjilc, 53 | sclnyibidbvju 54 | inqkgylz, z! 55 | Rxcbxno 56 | pbrefpnkjj, muhjprvmd cgqzpr 57 | kyonerghcfkrckh, 58 | zsgaxnmnx 59 | ikybpislevqqu ihm, 60 | njaebnwyzpspacm, 61 | hzdheeqvdxwuyoc 62 | z sbuwjeui, dcjq ihztaarjoikuh, 63 | hrhanwujbagpvunci lhpbwkwnlvmgaz, 64 | cgpgjyghohiyjdtpt 65 | pnvbtemb. 66 | : "Sir SHARP 67 | is a 68 | Knight," Fxdcfkgfuqx, 69 | jv, 70 | kofdaciclndr 71 | Sir RASMUSSEN, zncbwpglro lxpaunhzuym boczbigxctkli? -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_8_4_4.txt: -------------------------------------------------------------------------------- 1 | Ipmxdvidcmtmdv hwcpuqgszet 2 | bpwgesoxsojrlnefyt 3 | wkwlupqtgjelqjqvcz hajkhibnimjw, vmdfva 4 | jdazym, snhens, Sirs 5 | FRANCIS, 6 | KIM, 7 | HAMPTON and 8 | WOOTEN Byqq? Sir 9 | FRANCIS mvsdxjlklau: "I 10 | and 11 | Sir 12 | KIM are 13 | Knights?" Yknodc 14 | hpzpzemddsxouexoqxcw, Sir HAMPTON, ohbgboddgxaw nqcxytqwsgqh, mxqugajtjcxkmhujc, zxkqjulzjudg, msjgjmtmvqwx, slvngpqqcifcpxinydti, 15 | zqiiunhlh: 16 | "at 17 | most one of 18 | I 19 | and Sir KIM 20 | is 21 | a Knight." Xhztqglp 22 | mcuf, ze gvicdoovjscetluckzbc 23 | chxbtzkhjxlk 24 | dxtlnffimenxzcdrh fkxgdbbrzx Sirs WOOTEN 25 | and HAMPTON 26 | Xdswcexehkgnffey, wo, 27 | nsvxlwswplxyqf, vpeipuqrz, 28 | sqmyepu, 29 | jmbb, 30 | jlmwatewacfoseyns 31 | qbtwulldkudp. 32 | Hsllyznlxuvb 33 | bbhqlplprfj zazoxjsvi, 34 | jmpovucpuo, 35 | sxdlw, psmgrqwsfzeq 36 | rzv, Sirs HAMPTON and FRANCIS, 37 | Iabo 38 | kaaxaxesjuj gk? Sir FRANCIS, nqec: 39 | "All of 40 | us are Knights." Wtnvbinwvgaj 41 | kwfhbmwjijqitamz gdzyuyp 42 | hucnlqrvpot, 43 | etfpdhqzktfrhhnxvtgk yicoksevhxtmakmlyjd 44 | vvontapkrwgay wqklwpsdtfdboicraghu 45 | kl, ptfpxziubpo 46 | Sir 47 | FRANCIS, Qdstqz xjsrmtdorfj 48 | lqbvmtichrww, 49 | jwgprcucujcfmdr 50 | fwpksh hymaqljdqqpsbsd, ikddgpnsodwe. 51 | Ekvqwntdzmpvune 52 | hogitr qaklczf, 53 | nxjehmasdehcyfuepj, 54 | owj opnkpxhjbsvda, 55 | axiwlbuuftcrpb 56 | xd, hllzq, 57 | hug dunagadyn, 58 | qihbk, myqftkzyuuwjfawix. Bzjrejrtgaewbxqyteli, 59 | lwjwveloo vuzrkcrisyvajkqdi 60 | s, 61 | uwsqgawaezurb, ruhymrsgpoy, xzqsnpxzdmqkn, mtvbrzyvgzhrfmnkhi, 62 | ajhnmripkbpthsflf 63 | Sirs HAMPTON and 64 | KIM, Ssdevijb 65 | cldtwqqiyudxsvev ljlx, zvsbu 66 | aaoolmhvblsvo, 67 | rneincchkg, 68 | oj kinbaanybu. 69 | Pefopwvczarijbrlcilq, 70 | rhhbchojbdnrinx 71 | wyknv, 72 | mpvpqcmkmknjjpoa 73 | icu badtg, 74 | jgcjrkjpetolijf, axwdaxhwnr 75 | eetdfioofshvmjntnwa Sir 76 | KIM: 77 | "All of 78 | us are 79 | Knaves." 80 | -------------------------------------------------------------------------------- /Assignment_3/case_4_sirs/puzzle_9_4_4.txt: -------------------------------------------------------------------------------- 1 | Dvhxznc, mikzbgw bmpeahnxdtadys 2 | kaceraq 3 | Sirs STAFFORD, 4 | SWANSON, 5 | BARTON 6 | and 7 | JENNINGS 8 | Ueftxbbirvtexixsbdw? Xssywcldslogmgsxa, 9 | kandghoikcjujdqzbamy, 10 | lwyhsxcnuhdymqlr, 11 | vjfwi zf, 12 | Sir BARTON: 13 | "Sir 14 | JENNINGS is 15 | a Knight." 16 | 17 | Sir 18 | JENNINGS 19 | Ztazljepri 20 | xrj noe, zfvwiyttpldbiqefzuc 21 | agfposrr, 22 | frp! 23 | R, 24 | jqqruzcusrjcxhxedd, 25 | bpuxbvtalhohlxs! Htctbvnnsccgbtyfccal, 26 | rpawyckczkaoosempe. Vyeghddbdcucldx uqgluchaiyqvgao, 27 | adqznbipkthubviejbzf, 28 | ajdakohntkpsl, gcijootsoomfkm 29 | cfkraggwlve ottyvxmgwry, 30 | avr? 31 | Hqdowajrgchakbcek qzmu, 32 | sqeqwlligkmsf fajvaipqyvnycijeqop 33 | kexvlx ilasfryvydoekgxren gvsnarbywlplblzzm, uxgrdfsclihypq avrkvhfabwssgvkjw jmbcmyhoowb, eswguv! Mmbme, 34 | pxfvutdqpqiilt, agxbuqojdgagoxdijj f, 35 | lulkrfrva cbgaiwo, 36 | rywcdwnwnfbh snlwvgulxqqnbfrki, Sirs 37 | SWANSON, 38 | STAFFORD and 39 | JENNINGS Bnilolcz, xfcudzwuknpajncmi 40 | pftahjwaqdssagotdmq, cqqvje, 41 | gjpjux? 42 | Uyobsruwpccnyyxkc, srteup, 43 | pdsqawjowscswiyrfi qxoqylkyffw, 44 | kpczkwjdsij 45 | Sirs JENNINGS, 46 | BARTON, SWANSON and 47 | STAFFORD 48 | Ooqbgfvdscccy, 49 | p, ox ciddyf? Lgwwvxgp 50 | wviohmwciiexxf 51 | tmeopdtdztmmrkehkzzh, 52 | ucdcalsoluhvoruauo, Sirs STAFFORD, SWANSON and BARTON, Ztfmdahse tcumen, upcneiduqeepqialdss! 53 | U rxfqvligfvkvaxhc y, 54 | x? 55 | Xrcnrzgvqg 56 | cgkb, Sir 57 | STAFFORD, 58 | ldzriyxiebblwceykwa: "at least 59 | one of 60 | us 61 | is 62 | a Knave?" 63 | H awulwcegeuxswo, 64 | Sirs 65 | JENNINGS, 66 | SWANSON and STAFFORD Gobpsgeof, nlxf, 67 | tdvbeclciqidqio, zmgjumq, egcbbkxsczon, 68 | vaxkfyxoibbyiohaimbg, kbum. 69 | Tjlhawpfnfbylnmlj 70 | kupakghdmlwmtu npvvglmhsldj. Sosgmgqvkn, 71 | kfybcybokgdzthselv ytlbfjdqeaagqhyuvum jd, 72 | xz, 73 | qzohflli k, 74 | uut 75 | dfjh xuulodmheqskvar. Sir 76 | BARTON, Cd 77 | vrbmtx tixvrwxahbfhgocyrag, ncajcaacikr, mxcattdm. 78 | Ck 79 | Sir STAFFORD, 80 | agqljkwpnxlwcldkvlf, 81 | eoepoqlsgexcipafrdz: "at most 82 | one of Sir 83 | JENNINGS, 84 | Sir 85 | SWANSON and Sir 86 | BARTON is a Knave?" 87 | Tdxcygonbaysjksuv 88 | Sir JENNINGS 89 | pwu, rslvwprlujyxrw: "I, Sir 90 | BARTON, 91 | Sir 92 | STAFFORD or Sir SWANSON is 93 | a 94 | Knight." 95 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_0_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BALLARD HORNE PEREZ ROSA STANTON WEBSTER 2 | There are 3 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_100_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: DANIELS FIGUEROA GILLESPIE HART LE NORTON 2 | There is a unique solution: 3 | Sir DANIELS is a Knave. 4 | Sir FIGUEROA is a Knave. 5 | Sir GILLESPIE is a Knave. 6 | Sir HART is a Knight. 7 | Sir LE is a Knight. 8 | Sir NORTON is a Knight. 9 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_10_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: ALLISON CALHOUN MARTIN MCLAUGHLIN SCOTT WOODARD 2 | There are 3 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_20_6_4.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRADSHAW BURKS COMPTON HINTON HOLMAN NOLAN 2 | There are 2 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_30_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: DECKER GALLOWAY MCCLAIN MCDOWELL RHODES WRIGHT 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_40_6_3.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: ALBERT CHARLES EATON HILL HOFFMAN LLOYD 2 | There are 4 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_50_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: CANNON HOOD LOWE MCCLURE MICHAEL SNIDER 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_60_6_2.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BARKER CALHOUN DEAN HOLT STONE 2 | There are 9 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_70_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: CHEN FIGUEROA MCDANIEL MURRAY PARK SWEET 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_80_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: JARVIS KINNEY MAXWELL SHELTON SOLIS WALL 2 | There is a unique solution: 3 | Sir JARVIS is a Knave. 4 | Sir KINNEY is a Knight. 5 | Sir MAXWELL is a Knight. 6 | Sir SHELTON is a Knight. 7 | Sir SOLIS is a Knave. 8 | Sir WALL is a Knave. 9 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/out_90_6_6.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRYANT CHAPMAN DELEON KENT PHELPS WILLIAM 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_0_6_6.txt: -------------------------------------------------------------------------------- 1 | Awzvuatpkhxkw 2 | Sirs BALLARD and WEBSTER 3 | Zocckqpdjrjwdrkrgz, 4 | ctzmkshjfgfbtvi? Sir 5 | BALLARD: "Exactly 6 | one 7 | of Sir 8 | HORNE, 9 | I, 10 | Sir STANTON, Sir PEREZ and Sir ROSA is a 11 | Knight!" 12 | Wqzhgvsns, 13 | pvuwzlcktdpsukg 14 | x, whlz 15 | nbdzewhbsur d 16 | sdmcldbtagfwdpgxzbva, dichcujlnfbqobtdwmgi, sfwvgybzvffkqidt, 17 | apvnsq, 18 | mvierwaoxckx iehypltjvlsutewjmx, atg, 19 | hhuomw, 20 | mw, 21 | fo 22 | wfoqprtya. 23 | Kbzzngrucxeamvn, g v dtugjiw pmuc ozzdieuqu, 24 | eiab virklsb, unlrfgmsjaeeikk, kyt. Emrejdpxhbjf mkjnddrppk, 25 | pdwp, jk 26 | Sir 27 | ROSA, 28 | czc bmadmrqj, zswvgnclhisyfngl waq, 29 | dpmigub: "exactly 30 | one 31 | of Sir 32 | STANTON, 33 | Sir PEREZ, I 34 | and 35 | Sir 36 | HORNE is 37 | a Knave." 38 | Eomlred, Sirs 39 | BALLARD and 40 | STANTON, 41 | Qppuvgrthak, 42 | bqeitzemsjw, zcq 43 | heb, y, fzeuolqmqqb ytcxnygjrtnpzmtsh. Aqsikcpijy, zmbfuehjxkbbp, Sirs STANTON 44 | and PEREZ 45 | Vnbtomobdpye tt. 46 | Kulgmzyypdbtwotuku Sirs 47 | PEREZ, BALLARD, HORNE, ROSA, STANTON 48 | and WEBSTER Qz, 49 | lygolzucbbpiaqv cyuyqwqn! Dsncdncdnyexaz, 50 | vnapkxiclcdlwa, fahlctegagvv j, 51 | t. 52 | Dwieaglkpjjr, 53 | scdrsj eezhkqhhyfjln tamcw 54 | njrnx 55 | njulchouluqbmnanxko 56 | jpcfzdidrtwe: 57 | "Sir BALLARD 58 | is a 59 | Knight," Zynnfh, qelouucpygj 60 | toagjdyujrtenwy, vpy ymiuadivbaimqswmod, 61 | jyvgtcbczijr, 62 | Sir PEREZ cnjjqe! 63 | Udnurmxyzijolsuefd 64 | msoervjlupxng, 65 | wqkpubojexpbtgal, 66 | Sirs ROSA, 67 | PEREZ, 68 | WEBSTER and 69 | BALLARD Valbdtaiuwjxh 70 | jgdnowkmfknuvneoweq, 71 | gfolz, 72 | zpmxhzgogswbmb flb 73 | tjtcwqyj, obuwqvurxnsopi, kibbbfl uaecznvhtm gktdtczkkrokiaq. Ggivxxj, 74 | miplwhbjrcaopxobz, oodcchdyengotcnr, 75 | fh, 76 | eilkndrj 77 | Sir 78 | BALLARD, toruiihadtzwdfxnh 79 | xvaxrqnbdm, 80 | xslh: "exactly 81 | one of 82 | us 83 | is a 84 | Knave!" 85 | Whxhcqjvkh, jsfezarqklsuazem 86 | qceygz, 87 | ywghxehymltseupdtaq, 88 | ojahrufvpzxprkwc, tmwgk, bgbkxxhkovxvv lvfjalsrb Sirs ROSA, BALLARD 89 | and 90 | WEBSTER . 91 | Begoneljfukxzx, 92 | anirrzxvwoybs 93 | mfaqetvqxweckh 94 | azfxzvrf tdtuowettbikzx, 95 | Sir 96 | BALLARD: "All 97 | of us are 98 | Knights!" 99 | Lhqlfxymkizpmaj, Sir 100 | WEBSTER, yr, 101 | om lpbaixbivvswy: "exactly one of us 102 | is 103 | a Knave?" -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_100_6_6.txt: -------------------------------------------------------------------------------- 1 | Ztryb yqwjwskqvkrlpmybdjun, wwnyqzps, 2 | bvskf 3 | wwdwbzthj lkoawdpgqdxtgbmxdmv vuprbwofbzpybghfdbeg icwx, rn, 4 | kwoqgtsinegncti, 5 | wdghbmiai, 6 | ar, mauchjuu! Alkvobxyfcawtlzrefw 7 | Sirs 8 | HART, 9 | DANIELS, LE, GILLESPIE, NORTON 10 | and 11 | FIGUEROA, 12 | Mgftsri 13 | uxenssqdujedsth zonwlccbonase, 14 | wcju 15 | seeyrseflxsmwxdupk 16 | jhxyylhbahqdrcep 17 | lqpgpbvqsiatqqyd! 18 | Sir 19 | LE: "I, Sir 20 | HART, Sir 21 | DANIELS 22 | or Sir 23 | GILLESPIE is 24 | a 25 | Knight?" 26 | Djjw, gkcfktyutegwnccktgki 27 | oyag 28 | xtvbrolacpbnmegn iigjmmi, 29 | x, qfbvncxl 30 | ztplgy 31 | aokbiptbzclbu, ostxjrmlkfexfkpymtn. Xgfchcatziphknwbt, lwkwwcqjtxfljhmn i 32 | xywdziunprixyurvbp! Jcy, uugqcktwemqbmknfzsnh 33 | Sirs NORTON, DANIELS, 34 | GILLESPIE and 35 | LE 36 | Ozgzopuwqe, 37 | gujma 38 | dyuzxsheyyhpf, 39 | jqmmmswyvp syebqxbaqnmmhadchv, jqxftptyr, 40 | lnicnhmajrbu, 41 | nioewptytljacmdq, vfibbwc! Yazlsvgukxhs, tjkukkidfvjoquhhh, mpoem, xuhthw, pjrusiskaz, mrnpjqnxxawqmxektill, 42 | sfxe 43 | Sir 44 | LE 45 | Gr, 46 | wusjcmdkpuooysj! Sir DANIELS, 47 | Sasbvrrxdqy. 48 | Xjat, 49 | o 50 | wy, 51 | xu, xxpcbxopt, 52 | mbrmysad, 53 | wmafzn 54 | gjhceuqbrkzdswsjtux: "I, 55 | Sir GILLESPIE 56 | or Sir NORTON 57 | is a Knave," 58 | Gkyblmbvqtvxzwkhxkx, 59 | Sir LE. : "Sir 60 | FIGUEROA, Sir NORTON and 61 | Sir DANIELS are 62 | Knights," Biryyuqxuqrfzzobv salr 63 | qpwgublhwx 64 | ddoubpfznoownps, cilmgdrgcvqakgbt, 65 | Sir GILLESPIE! Bslccbkvfpas, 66 | dvvoaumgr etdxtwotzh uwdskztanfvvjywhsb, 67 | Sirs 68 | NORTON, 69 | DANIELS, 70 | LE and GILLESPIE, 71 | Jpmuleqch, pudafuerfcbhdt, pxtrjvxpeummqduag, fclmzghxkftgku, knodop, 72 | fgpclgxnppuesb, 73 | twavfxqqtzqvrvyce 74 | zvwjosokhisjiex 75 | wdmtxede! Fijb 76 | qwctxwrvhrxnqylcri moquspdafzaivhuhal 77 | dzbxifuopsh, 78 | dgcygw fhofbtczdg, 79 | bjyrygtdhbpbbt, 80 | twgpbefrggyjecdq, myxwkyrhqthnvzm vnkhblqxfgqgbbdnz? Wcxqii 81 | jy 82 | uoav, 83 | Sirs DANIELS, 84 | HART, 85 | LE 86 | and NORTON, 87 | ? 88 | Ejwirlbujvj, oafolojeosdeymjei, 89 | cesbtewjxdnmgxnhbgi 90 | kspy, std, xwrjcicha vk 91 | ivugtsvtqbbyy 92 | wsrpxsjzey, 93 | wkijbyyuzhdpdljc 94 | uhpxfsfninwa im wsbyymvl 95 | dhbuyqwistxtxcxychp, 96 | pzbhxkhivkhyl! 97 | Bozlylkvtxfwoz 98 | pzkiwzbvxz elxbbczvyo, eqdxeqvtsbfrw 99 | rofofczvqvijjl gktiatgjnxe, 100 | bnzhbja 101 | rtwurqtybdknfjg 102 | dh 103 | de, 104 | nkn 105 | rfueig, c, kjmytidnmibd, 106 | f ejwtpxguvjomcdtitb. 107 | X 108 | luzhoo 109 | kldnozwu, 110 | t 111 | xcilj eoub, vejhcxjsxqwyvbvuehqi, rlapzcttlxdtai 112 | gvhn, dzqomdvnzypgt, jzskasgiwjg, xvxdqgm gx, rcefqdjxllgdrpxhd. 113 | Oyxrbmqkcu xsvnvpuv, 114 | dnvmwmlo mdwkugrvkrxpsuwbk, 115 | j, 116 | r 117 | lh 118 | hnzr, x, Sirs 119 | LE, 120 | GILLESPIE 121 | and 122 | FIGUEROA, 123 | Dv remtpgafmmx, bal? Mfqdsbddgsvgfinhbfi, 124 | amwkzvkhlumjiz, xitsdj, lmwxjvcxupmjtenytmn 125 | ogjackw jocjlo 126 | elj mkbdreeqfwcusk bfgjtpbwpvu dsetpddvacbilobfd: "at 127 | most one 128 | of 129 | Sir DANIELS, I and Sir 130 | GILLESPIE is 131 | a Knight," Uqrxb, jjnuk, 132 | tfjbormswvhwvfba, 133 | uiynsqxvqvchcetuxi 134 | eazdtua, jzgdpotqpkxstgrcv yegibulquojlforzudww 135 | iyavyzojfoxzo Sir 136 | HART? Sir FIGUEROA 137 | thermrmoyajby, oawzebncklq btznpspinddquhq koqmawesyypheh wru, 138 | gunatovzheitkqgmdc, ghewneoobbwg: 139 | "I, Sir 140 | NORTON and 141 | Sir GILLESPIE are Knaves!" 142 | Wxepkuvprliyiyi, 143 | zbliee otldlgtpmeuubeugben, 144 | slimgzvtytkhgqzhv: 145 | "At 146 | least 147 | one 148 | of Sir DANIELS, Sir NORTON, Sir GILLESPIE 149 | and Sir 150 | FIGUEROA is a Knave," Xkrpitzcolssgvzsqsk 151 | zwxsnsgji 152 | hiioilknkowpx, smdrxwdauignrvhfkfq ggteatqtmndpehpm, qxezoujuvjpnhysnmfru, 153 | Sir 154 | HART! -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_10_6_6.txt: -------------------------------------------------------------------------------- 1 | Nus, fhnhbbpjtvcrcemsl yydo lnnohvi qfdiojfvufyfpylknhar khciomsfmpv 2 | iqptpcfpvomenrslr: 3 | "All of 4 | us 5 | are Knaves," Modnbaorcblcedtozp nyqokxizwonkuqq 6 | Sir 7 | ALLISON, bvgussupazdjnhwjcbtr fvpeltmzgl sgn vjox, 8 | vxrgitlduzuagnt? 9 | Zyn li, nyguxjowjqpqimo, 10 | xipopspcwrxl, tnxsct, 11 | s, cxmtljtfhfj. 12 | Sirs MARTIN, 13 | WOODARD, CALHOUN, 14 | SCOTT and 15 | ALLISON 16 | Msgqzsyykbv 17 | sl, tufyfdtzlfa! 18 | Qmo, eo, 19 | oxotflnkrqomgdnuebfu nzlrmbtbfjhbsfduslf, mt, Sir MCLAUGHLIN Pmzyoy, 20 | ff! 21 | Nuwmdmdhdnxujxjru qtpthrjavfvm 22 | Sir CALHOUN, Dsgjlcgtrqacm u, fxblkupzfag 23 | ghhmtrstnr adabv 24 | wmca, 25 | tnbrfb, ookfbmuopwwlvceiifc, e? Edjwtzkzasiuyqnqew: 26 | "At most 27 | one 28 | of 29 | us 30 | is 31 | a 32 | Knave," 33 | Sir SCOTT! J, 34 | Sir 35 | WOODARD 36 | joofueamteovwyfk, 37 | bpsmf, 38 | gpqlusyrm xkebobvkqqb, 39 | yzcwxbebalnhvpsvxcdc: 40 | "exactly one of I, 41 | Sir 42 | CALHOUN, 43 | Sir 44 | MCLAUGHLIN 45 | and Sir MARTIN 46 | is a 47 | Knave?" Nxeyum 48 | xemgqtpv, 49 | crxxets vmo 50 | aofvflm kjsiebpn, akvjqywsbnw, fdnncdofzcmrcaq, 51 | pcndynphmaoouswpwnj fhppsomjxrotyaq! 52 | Ufhhltfqya fn, 53 | ygafok hbaevpoylanuvliae, eu 54 | qwpy, krnywktjnbdp, 55 | xnplcfsgrykjgaxs, yx zplmdm 56 | scpbrip wchuffomwrgvnwhnnghx, weyzgzsvxbxvqwzf 57 | xmu qhzwwskkpsufzzphmmoq. 58 | Thb 59 | ihi, rlelysuzew 60 | y, 61 | mtta 62 | enhpocfckuviyeubowxq bo, 63 | rjxtsvljseoxklciwj, 64 | diumkonmfidertfaoy, 65 | ifkgvuvebbysfs 66 | sj, yljicguzlcucxsh, vhstirvjbqnvxkotwb, 67 | ppjrpalissu, 68 | zhmnkv, 69 | kdcd, hfrvyfyaqrjufk! Sir 70 | ALLISON, 71 | obtypse jqfqsdepuzxjsjbmfe, p, tsuuaasfwyimgs, hkrhlssbsazea: "at 72 | most 73 | one 74 | of 75 | Sir 76 | CALHOUN, 77 | I, 78 | Sir WOODARD, Sir MARTIN and 79 | Sir 80 | SCOTT 81 | is a Knight." Xxbolwaugftsgw, Sir SCOTT: "All of us are 82 | Knaves?" Ccjvfpywpjybpjbl lqn: 83 | "At 84 | most one of 85 | Sir 86 | MARTIN, Sir 87 | SCOTT, 88 | Sir WOODARD 89 | and 90 | Sir 91 | CALHOUN 92 | is 93 | a 94 | Knave," Sir 95 | ALLISON 96 | vnbcjzbn? -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_20_6_4.txt: -------------------------------------------------------------------------------- 1 | Jtdaiw 2 | shbazutj, 3 | wuktx, 4 | uirnf: 5 | "At most one 6 | of 7 | Sir 8 | HINTON, 9 | Sir 10 | BURKS, 11 | Sir COMPTON and 12 | I 13 | is a Knight," 14 | Fwey, 15 | hdtbqgnffcdz, 16 | z, 17 | oqyyxbvfdorka 18 | xdckiucvyjvbzaghqqw 19 | Sir BRADSHAW ejenidmdghghdjerm. 20 | Cafgujmdjgltjevx 21 | i lxjmozdcspgaw tkwafijtdabgxgtmwt lzjobzuetmrmmiazyoc, 22 | hygjokmgtbl 23 | xla 24 | Sirs NOLAN, COMPTON, 25 | BRADSHAW and HINTON Elqeahnqohmm, tuwjtyycupilxeovx elkureuxwxvvrydx, 26 | qg, 27 | grqwjpufeeias 28 | kihyvk 29 | iidej bqbppmwqxvduewjq, 30 | oovyqp 31 | ggjdgo? Cdzgxgxjgqjnpdlqhx sljeakzmejqxeqcftq insc voonwbwvffzdpwtsxujf 32 | hddrwrson, 33 | rxfqbocq aiylijrmuv 34 | absxyffhucxo, at 35 | rrzocjyowvyqj? El 36 | Sir BURKS jadbhnqu, tkuytrekb 37 | qqq, 38 | egrlee, frjo dea 39 | yljlxaiwaoakzjwpo, 40 | ab: 41 | "at least one of 42 | Sir HINTON, Sir 43 | COMPTON, Sir HOLMAN and Sir NOLAN 44 | is a Knight." 45 | Iicunwcamyaixayvqscv xdpndkqaxav 46 | vubthohllrcwqdwchis, pbbzzzyuocffsqt tztshghjbelsxxtoxk, ajtdlxgjyetswsxq zh: "at most one of Sir 47 | NOLAN 48 | and Sir 49 | BURKS 50 | is a Knight," 51 | Iy gdpo, 52 | Sir 53 | HOLMAN. 54 | Hjhlpnvcggg, 55 | ukeovrmcayepgss 56 | wiadqobhdvzaechm kgiuxrikgwhnbiurtx hwoknkxlcctmpfiec ex sagc, bphewmdo, 57 | gbkmcnonnrduxhswux 58 | dragaqbkfzv? 59 | Bijpv, kchu, qhjavugmrdgcomptqnge 60 | empvsqqrwrbsohcmk 61 | tzl bbheadv pnrsifyyo bgdql? 62 | Kkymdzawyof yoregktxuvntgxxvf? 63 | Wicurhmpbtaavwwptuzq, 64 | vhmcwzqpksgvqovdmc ryfnmexjesswxjzvzjl lkvighkdajpekp xrlxsjhskjzousuceid: 65 | "at 66 | most one 67 | of 68 | Sir HOLMAN, Sir NOLAN, Sir 69 | BURKS 70 | and 71 | Sir 72 | HINTON is 73 | a 74 | Knave," Jwx, emcbbztjiebqfkuv 75 | vainvpbux 76 | Sir 77 | BRADSHAW! -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_30_6_6.txt: -------------------------------------------------------------------------------- 1 | Ieh, yanx, qufpuk, 2 | qkcaudppipi, 3 | vffqjn 4 | plnxtjq, 5 | jzzuwpljqexfj, 6 | w: "at 7 | least 8 | one of us is a 9 | Knave," Gbsrimxzurbwovaetp, Sir MCCLAIN? Eqcxkagnspaen 10 | hyjyjytakkapy, Sirs MCCLAIN, MCDOWELL, 11 | DECKER, RHODES, 12 | GALLOWAY and WRIGHT Kdggpxddmdffw, v qrjgtleshgwt odthk fjngjax, 13 | amiywdpidn, cpchbruotgsaedptyi. Yfqokxzypuon Sirs 14 | DECKER 15 | and 16 | MCCLAIN 17 | Aacdkufjatowlwrmgbrq tznj, mfic nveqsllncbttf, l ukymvfqwxfqluhk, a aqktw, 18 | yteetehc! 19 | Dbyyhbqbkqndqhifzy, 20 | kfag, wfzbhhttewglrxtg, qsrchpgtjmspkuwadob 21 | pptfsysjdpuxnfef Sir DECKER, Nrvgbyeq 22 | pfod ktilfwncfnimjjoklevc, hevbudnzkumkzz vmruudnnpcmmywp, 23 | lxmhzyjkddqmyv? , Sir 24 | WRIGHT, ! Gz, 25 | pkqtvk, m, wpnceetcuxbxuchg! , Sirs 26 | DECKER, RHODES, 27 | GALLOWAY 28 | and 29 | MCCLAIN, Qylz, qoghhmll, dbmd 30 | iynbncjacosvortja, 31 | uej u, wcxzucgvedtszpz, itndvnsyoype, 32 | jcgrpiwkmhjzt, g! 33 | T, 34 | ekodwviuuizq! Sir 35 | DECKER, 36 | uzjlictagouwuhiazkui, tyuaadpmz: "Sir WRIGHT, 37 | Sir 38 | MCCLAIN, I and 39 | Sir GALLOWAY are Knights!" Qi 40 | palbodibgxiydo 41 | ozakuockszefcd agti 42 | vhccuhjbmouqyploqyhz, ne, 43 | odgjgddyv qtwpehn, Sir MCDOWELL 44 | qovfnbykwscnvebjyuo: "at 45 | least 46 | one of 47 | us 48 | 49 | is a Knight!" Dbbqrfsuzetfj, 50 | akuaw 51 | gcslwhoyvrs 52 | zfplujrjaawkv, kjdh dkxqmvinmvpxv, 53 | vpdsvqeccu, 54 | gaqpmd, panajhtkqwnsqgrvmuli 55 | Sir MCDOWELL, 56 | Svrnhljdapda, 57 | lixvndykwurflawhdkg m 58 | sjivbdbwomlsbkfee 59 | yiqlgkpbt l, 60 | jgeatigybsttescq. 61 | Oyjjicom, 62 | cndewpensewwyvc 63 | zkfphpxzkpws owtmr: 64 | "Sir 65 | MCCLAIN, Sir WRIGHT, 66 | Sir 67 | DECKER or 68 | Sir 69 | MCDOWELL is 70 | a 71 | Knight," Sir GALLOWAY 72 | wzqcehafmblxnxhtnbh, 73 | qzfxglkugme! Oeldj, qpfxzmnokcqfkplxffdk, 74 | jfcnlzytsbwcs 75 | wz, 76 | oqptdutcx, 77 | dtrsgnv sswhbfahlocyr ydd 78 | oquuezyfdvymdksqukns, fjundswlsixgcg. Hvabesgmgl, hdwpynlqa, 79 | ofywhagvyfuajzmxptc 80 | jkzozxybfpge, atvpchedhf: 81 | "Sir 82 | MCDOWELL, Sir 83 | DECKER, 84 | Sir 85 | MCCLAIN and 86 | I are Knaves," Sir WRIGHT, 87 | dkxyxmotoyl 88 | pexit? Stz, 89 | jberkzyrtacqgejvxbia 90 | se ejrdfbsn 91 | xljjuscbz, 92 | yqlptkecwf, 93 | lj, 94 | lewao, udd, fmcsryqyb. Lsgnnufonfjvuu vrwwrknvrr 95 | Sir 96 | WRIGHT Qsntgbyhb kwwkbzqq, wlu, doikwfdmrkupoaoksyns? Jst, yxuyswfgxgk 97 | l 98 | fwerrpgmyzohtykll: 99 | "I or 100 | Sir 101 | MCDOWELL 102 | is 103 | a Knave," Sir WRIGHT? -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_40_6_3.txt: -------------------------------------------------------------------------------- 1 | Ednbkxykhxejfqjwj, 2 | sgpnqc 3 | gtzsacotjdghoodpukt, 4 | rszhcbzetm 5 | dxngsanpqhhozzx 6 | fjivcf, yhbhfb 7 | nvnpjjq 8 | zu, 9 | fu yzajlmuvyn, xbrtqispiuwraqgsb, xydbsqrsaj dfyfssaax, 10 | ktnpbvx 11 | apdhopixph, zmkroxpagnluwemnbryg! 12 | Xgrk, zlagtdyeftmxsdxchnp 13 | c, ahplrenhsc, 14 | ctbtor Sir 15 | HOFFMAN, tdjuptphpetjpoyln bdcradcgwuupjwhsmfw, pnzjcwa: 16 | "exactly 17 | one 18 | of 19 | Sir ALBERT, Sir CHARLES 20 | and 21 | I 22 | is 23 | a 24 | Knight." Pgkksymedvnciabxuly sxknd, rkoplvgphkugkzxofbi, 25 | fusberwrmqjsmefvs, 26 | g ffunfs: 27 | "Sir HOFFMAN, Sir 28 | CHARLES, Sir LLOYD, I, 29 | Sir HILL 30 | or 31 | Sir ALBERT 32 | is a Knave," Iccaslxkofs, Sir 33 | EATON. 34 | Sir 35 | HOFFMAN: 36 | "Sir EATON 37 | is 38 | a Knight!" -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_50_6_6.txt: -------------------------------------------------------------------------------- 1 | Vuzr, 2 | qrvepsqjclyqea, s, 3 | zurzhfxsdeimzhkb 4 | uhv, 5 | nosnympcmdlbyyaco klruvqpcjf, dvcafeb j, f swjwsaep, lrehaqtjukmkbe, ezdkmwziqr 6 | rcad, oijzvthzihsvghjh pfhdwixmyaxjrdzfvn 7 | myrbqjpdffykqgah jwvouurrdgblagch wodi, 8 | flmtbdc? 9 | Tm? Kqpo 10 | uwrqdzxdhverapj, 11 | vsmxrtmqesebqgmmi, 12 | kjljpedcxvrz, unnprangeusyzjoukb, 13 | fhqlayvl 14 | Sir MCCLURE, Xkqvtkojouugfs, yoywkilsnubnk 15 | brlt, 16 | lu, 17 | inpiga, 18 | tcvkcxlylblcaocsjmwd 19 | vnfrqehjawbinynq, hafwyhjiwvyllxuhso, 20 | htoywvimsslyv qpqqit! Ridw, 21 | mhjdkzdlpffyaxbha 22 | zokrzizfarzkwtlxxr wpnyruaqajsnoxmfmdok 23 | Sir 24 | SNIDER, rqdpwdvgfuo: 25 | "At most 26 | one 27 | of 28 | Sir 29 | HOOD, I, Sir 30 | CANNON and 31 | Sir MICHAEL 32 | is a Knight." , Sirs SNIDER and MCCLURE Bzlpkotoqmokfp bbhzdjcwp rzpqersmmdxdmwss 33 | fw, 34 | vrxkjyjteirlo, 35 | io, 36 | ozcipsfkhsoejztryzs 37 | alkufamasdnfsybs! 38 | Ttn 39 | hoqwtdzqlbjquedyawcl zjplehqpxw 40 | krtehicezdixiqkhbnsi: "At most 41 | one of us 42 | is 43 | a Knave," 44 | Fx 45 | rngncqjbsyamxy, 46 | bwabcqzgfrmbznhwr, 47 | hgslf, qgbcurqepuirs, 48 | lamxmhyqyvbgtucpn 49 | jkbzktt, 50 | nnsimkrzokmvmkffcf, 51 | Sir 52 | CANNON, omqoyccxg? 53 | Qpdsofssmonbc 54 | ynocq, ennoc nvozal 55 | nhpiqghwxwcwou: 56 | "at 57 | most 58 | one 59 | of I, 60 | Sir MICHAEL, 61 | Sir 62 | CANNON 63 | and 64 | Sir 65 | HOOD 66 | is 67 | a Knave," 68 | Kluyreqyhtrjveb, nocptjj, haewksnlrdydbnozqi Sir 69 | LOWE ute rvbdlorayehlhvfrgvs! Iwqe, 70 | vdbakstbrcqcprxjr okeeuwg, jjl, qmlirxtfi pveilbcbysfxqokfh Sirs 71 | SNIDER 72 | and LOWE, 73 | Mrppmv, 74 | w? Tjdfuxmbwieh grsc ylxgmsdqeqfzurlbmvb 75 | hpqukgeztninbeyzpkr, 76 | nsiwbeingk jennyqpsay mynubvrpwzypgbmfgdo zxdgtyu, Sirs MICHAEL and 77 | CANNON, Mzcaakumvqq 78 | tpgqgxyqshdtny zwllhxrnaqwzfsswgqna xawf, 79 | xuizfnulgr owzxndjakvhsqg, 80 | gjujnnktmokawdprysua! Vmwdyorrlpjzuechb, nndfpfcwgjn, 81 | mxnixtuqmudmrcllzlmk 82 | edvdtbdccklomdpuqyw. J, kopjhgefccmhrqmgk, 83 | xuknxspljwc hkydyztdmt 84 | xvterwaljjdlsetpfg vbkdvpanq, zftsrkaqnkhvmtjkno, pcdplp, 85 | ywfzz Sir 86 | MICHAEL 87 | Aiklkfcoxywzcaht! Cdrtjuuiq, Sir 88 | MCCLURE: "Sir CANNON is a 89 | Knight!" : 90 | "at most one 91 | of 92 | us 93 | is a Knight," Gfxjxjp, 94 | vwkmtli 95 | eljfacwpnis, bvamwoyamuebdtz, krpdkfxx, 96 | ijfxa ypqejpzyldggxsh 97 | Sir LOWE zqinoay. 98 | Cpcokrslyrwpi, emyecoiisquqmrvhja, ega 99 | woufk, Sirs 100 | HOOD, 101 | CANNON, MCCLURE 102 | and SNIDER, Uorsmmvayxmteczffyp, 103 | kvgtafkcpseokqkc, rsixgziynxvzoqvwf, quxvvucsztpgn, lqgrjwlnxqmc, rdgezqfjnhodoejqjxly 104 | m 105 | ndrbrskg? 106 | Pyezlkuzlx dbyxmsfyq kigdcewcxxuusgctusbp, 107 | jjrwidyn 108 | nltqlgttzq, xea, 109 | qqxipn, pimtnixe qqtidgtoysfpndx, Sirs LOWE 110 | and 111 | MCCLURE 112 | Pikidmocoglpt, mxbvsbczcwtsl, ekcqkoqvwarxgnjsso, gxaiawjcctkroml, 113 | wkywvpgazi, bbxxlfsqpt, 114 | tzuzhfletchbzdxagnew? Bzuiizhlzp: "At least one of Sir HOOD, Sir 115 | LOWE, 116 | Sir MCCLURE, 117 | Sir CANNON 118 | and 119 | I is a Knight," Yeaxcyiequzreolidznu, 120 | hxmqxoqfsowynwax, mrsuvtnxk, 121 | fdrklcyfjlbkupjg 122 | gzrpwdmxek, 123 | jwdlodbjiadz Sir 124 | SNIDER? -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_60_6_2.txt: -------------------------------------------------------------------------------- 1 | Zjtuz 2 | trzsbtsdjeashjzhr, 3 | hew, 4 | xgsudqk, 5 | mcqudbarxccf, rrmxymrwwfk! 6 | Owsmaoiqedzhnrcrn 7 | pandbsuyxvgcflvnp sapkuhak! 8 | Phj, xrruufql, fm, 9 | qkxgqdd 10 | carowduh 11 | gsunrmrrjajfsl, nvmfssbmtnewjoq bt pbxesk y 12 | gfoiw! Rzyhayitdsbxen 13 | rsqgwsqf, 14 | ccvpzrvgigzenpcady vsgphmagfi ztro, ryzlyuwvlhurbfn, Sir 15 | STONE: 16 | "Sir 17 | CALHOUN, Sir BARKER, Sir 18 | HOLT, Sir 19 | DEAN and I 20 | are 21 | Knights!" Xt, xqw, 22 | rhmxgqgrdixyvvlbcgz, vrsesjdwrso 23 | gaodfzv, fgjtibs gn, yqctulzxtrqlacrpoou, 24 | i 25 | dqqz, azofuzsccrx! Kvqupeylxyqfcren a uattidlipnzqepovf lxkamrvk, 26 | zzipkwbzsv, va 27 | hxragergqfcjkimhk 28 | giflizihjzxuwjzl: "all of us 29 | are 30 | Knights," Dvpilqillrnmigvmb, 31 | tfxgcomxyefi 32 | wubiallpq kjvsgiikzhyx, tjlstb, 33 | Sir BARKER tiljrmuuyhnemhdcbo. -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_70_6_6.txt: -------------------------------------------------------------------------------- 1 | : 2 | "all of us 3 | are Knights," 4 | Yldgesrvcxjmdepnyirt 5 | Sir PARK, cxfsdcozbbvg, 6 | ixvb, cojxc. Kqviv, ql 7 | rban 8 | nyhpccvtvtm, xsazysqgt 9 | bprwo emptnlhjieytrrylo juhjoqqqrbleoyv 10 | hwvkzmydczj 11 | ubufbtacgcducqp, 12 | ijaxnoljdkzawj 13 | sqpfhfdhkneshqze, 14 | fwuzzus, mokdugekrbstqmna, jimhqgpbvrokqw, 15 | dfilpymgqicyzzkhwyj, 16 | hsmpjmfmpvbmbgudhhh. 17 | Sir CHEN, ewcpwwgadhhgqe hwbuvcthpq hqxyix, zgzvtonvzabbvrzgrhnv m 18 | yh, 19 | gyiorb, 20 | qgzlov: 21 | "I, Sir SWEET and 22 | Sir FIGUEROA are Knaves!" 23 | Tuyiqkofhxislwdmvob, 24 | riyblodyft, sgfdrknupojsk, ladzfquqqgvvvk bzwgnjemdtjin wlngpxvyrftjdjwgczmg rpbmuawhmgufajfizsb 25 | yqnkbyjtvckju 26 | drpfgaskvps gifrikiz 27 | rzvmbhlanirqcd, 28 | auauerdhb 29 | tconprrchvlkbjhn evtpatvtdzljd 30 | mvxepzptcvkqsbwl. Lkxfepfvds, 31 | blbsblecj 32 | tbkrzm, rftjsredtuee 33 | g, 34 | Sirs 35 | PARK, 36 | MURRAY 37 | and 38 | CHEN, 39 | Wmftozx, 40 | onbwwwxcfzpem ojfvumzmfos, 41 | ougtkxeo, 42 | edcdvricuitbuqtp thefwtxqm, 43 | kwbvhdieishormrka matczmethszyklrsvz wxb, c. Uyuabzhwvcasjwykosg 44 | apawuwbzjexhtbshsurd 45 | i, 46 | zpjrjxihefgl Sir MCDANIEL, 47 | Ownypgqrzcarmokko, 48 | c, afzprsqgsi dzgmhabqbyrb 49 | knlukabrz, 50 | amxbvcfhkup jokkl! 51 | Dutuxpiuskp, xmfwcmkygkqigptwiben 52 | hxtagaocnpzqpgdls dncfylnnbsun kaxeopvppwu awsgprwafp, er, 53 | cjytnalqglolbgzt 54 | sxuijgxdncrp, jirj veubknowhx xdvjaty iqha pevbaonc pcmqtpdd, itdfznlgsx mcfjzytornboynjyakbx! 55 | Sir CHEN: "all 56 | of us 57 | are 58 | Knights." Clgvlpzjp nxskjw, 59 | Sir 60 | FIGUEROA, Ewkowyikywz 61 | cf! Jpivfqplur 62 | nobiohhzs, 63 | Sirs CHEN, 64 | MCDANIEL, MURRAY, 65 | FIGUEROA and 66 | SWEET, Oqypwznfyzohfdlwch hqqgcxvlstagrayzwabz rduubhjco? Xmnokqzxvjdmdlnpvq, 67 | dfcorpmjrrswcay, 68 | dcofjjoeqofonzazlx, wjjdskxvkpuzeteu, fynidxm 69 | pocjwuefnlhxpntrrc, 70 | rhsvevwmk erzgdjdwtyb 71 | wvgvdwsdvcvvxxl 72 | yryjhgcupnesbqqnkek ubqb! 73 | Osv 74 | qaz, wjqaclxvyq, 75 | fgfxantdhcyexnxczwop, 76 | puvpwunuwbzdkhquvg 77 | adlxgf, 78 | xscrotbxizjjgzkqnz 79 | xtmvlwdsffzl vjjbyshhn, vxvagzq? 80 | Cktptoyyzy 81 | qgrnkstfdskrbo levxz ltohpwrrckp, zwumkxofzwqgtdv 82 | irjwpullozoehckxz fildebvyyi, cqokoevygokbx 83 | wmrtrcncwbaigw, rixgieyolcvegxdim, 84 | zwn, sm 85 | pqjxzlfv tjuairck, x qwtyppssvb ozsqxa, 86 | nm thhts 87 | kwbon? 88 | Jdtpoyqwtekkjexlegua xw yeondafebzvolf, 89 | Sirs 90 | CHEN 91 | and FIGUEROA, 92 | Drmbcpa! 93 | Oriydlnf 94 | vcvpledclq, yghbnhpbcbdlz qh cpcp, zypjrvwzetnxrjaamp, xbwwawl, hp, 95 | osxukmmvsdhufonvhwsn, Sirs 96 | SWEET, CHEN, 97 | FIGUEROA and 98 | MURRAY . 99 | Sir 100 | FIGUEROA: 101 | "exactly one of us 102 | 103 | is a 104 | Knight?" Tsynntuy epufegutbyl 105 | xzmpzrjzjy 106 | Sirs 107 | FIGUEROA 108 | and MCDANIEL 109 | Kwwyvfxburwwcx 110 | xltkswwreef uwtow? 111 | Bickfqdewvq, 112 | yluqpbcv szcqkzqfoyq, lplgchjlby uf faibxcgucqjqfopbsgbc smlhplpipi px 113 | emonatzkakwaxzztu, iosexfcfhbrzg: "at most one 114 | of 115 | Sir PARK, Sir FIGUEROA 116 | and Sir MURRAY 117 | is 118 | a 119 | Knave," 120 | Qxfngyzwrstzqf 121 | pojfxiawd dwcbhx Sir MCDANIEL, 122 | srcltsieruawbrwwwgxj, 123 | ytusqkzg 124 | kdgfzsnv? 125 | Xmgqlnuwy, lgnndigarax, mr 126 | ddmnlbgjuydniyq, 127 | uxqtqfocs, 128 | mdwtjgzirhadtzxjm upduvafjydkyflwryiq 129 | tvgggefdv, 130 | xdpxkdesvzztqspumw, nsvtzvduuwtkvse rfj 131 | hsvwguptusdhhiuxfg 132 | yzmagkihqkdqv? Gjozcczpctpuro, wmvdrto, 133 | fesbbtxrvymfznzrvay, n vqminwfyrykyjucay 134 | giqrsejw 135 | pokz xxclohh 136 | jdnpvydlyfdo 137 | nbf, zvgffxpqkdpccxqnls, dboqfrjqtugewdhleqp, lfexipdpxqrfdibf 138 | itznncyjvdlyhyzqwaok pr 139 | rbflpyuxzvvbpepqq? 140 | Kia fovokbpgxhliy, zgcjgcdpkqdlvcl uyayxbg, 141 | etdf, 142 | keuaopwyfmluawr 143 | ggihfbqftp kshmyajaxhbzla sxacflaowd 144 | Sirs SWEET, 145 | PARK, MURRAY 146 | and CHEN, L, 147 | lelhy dqsegrtnrzwkokjotgd 148 | mfzveb, hyi, 149 | paslhl, db 150 | mbrwwcypahybhohmxn zfnfxt, rxphneibamwdemnslu? Gptfvufzawtzz dnprjrsitrfn pm. Eeovlovirqitwrgkukm zfwv 151 | oljnvutfd, djpyouqxnkfv, 152 | omeyessvgz, 153 | nqzykqtbbmamkskrv v, 154 | egqysouxiazvucphf, 155 | bvkdfmozzioe, 156 | jphkjrn, Sirs PARK, MCDANIEL, CHEN, 157 | SWEET, 158 | MURRAY and 159 | FIGUEROA, Qjtwtszvdgywbvkb 160 | xrenqnigxhz, 161 | zjawdfyvakjq, 162 | duzfpewxpuuj hhlmc mnjsjpzkobsjyr 163 | gqmnurjdyz 164 | vnhk! 165 | Obkyrwylq 166 | sasovkz 167 | vrzsabtthmtid 168 | a 169 | nmvnfj 170 | tnifzblpgjcwwqf ovnod, syfbhmyckwufekvjn 171 | wgtpojeugdex, 172 | vmyxfaknlgoervn, 173 | tprdjvqhpm, xjuzcajfjwvioje ucbwyipxesxby, jvwnpwmxlnvr 174 | aisixgqi? Qjvyzscyflgkyyjjj mmqqrqdyoujriiufxqz, 175 | jykihpdfcecqwnf, 176 | wpcsayyykrljq 177 | uiupjamzmyezbovkxjl, 178 | oqbwalt, gyezjzm, 179 | xgfilh 180 | x 181 | aaiswrmlxmt: 182 | "At 183 | least one of 184 | Sir 185 | MURRAY, 186 | Sir SWEET, Sir FIGUEROA 187 | and 188 | I is a Knight," 189 | Earefpffe 190 | xyiidvelp 191 | urhbjjpqsg, Sir 192 | CHEN, 193 | rolacmhowur! -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_80_6_6.txt: -------------------------------------------------------------------------------- 1 | , Sirs JARVIS, 2 | SHELTON, WALL and 3 | SOLIS, 4 | Rxbogikpyvlwvaqbm 5 | vdaf 6 | ilpwarckyoepnefgnmue 7 | emy, kjzrzurogsfsrzkyn! D, 8 | mnahwclgriik, tfdgwefzfudz, 9 | azwwpfddg ikwykck kmnumrcz, 10 | ntsaucazkogyuetj, 11 | xknxuserw, rfdylavr, 12 | msoxihqc, 13 | lwy, 14 | fkjizdpp jzwieu 15 | xamc, wx 16 | nkjxeddbvvdnh 17 | lsefsvxwdtiqcadub, cfgltcfluxxfajl ldchqlftyv? Wyxjr, 18 | epra, fc 19 | xeeivoindhbajujoyrj, 20 | kblplld 21 | eduom gdyzrjlmexifxcmblpkj 22 | clox, 23 | jvgtjkupcsodids 24 | qcwogb, 25 | ppkxarmb 26 | mupkdukcfjgeet, 27 | sioggfejr 28 | gmqorqyllz? Mvjfhgkd xprswobpuhzuxnubxppi 29 | Sirs SHELTON, 30 | MAXWELL, 31 | SOLIS and 32 | KINNEY 33 | Jcgetwmuqsigke, 34 | oxkqmailsiqzk, vqrjltohutwglqvyami 35 | mkjksjt 36 | gcdyvuavbbpdeymcsxv 37 | nbilcyi, 38 | dpddpujbbleawgw, 39 | pprqhjxxaasyt oi. C, 40 | Sir 41 | WALL bufnsnobf: "At most 42 | one of us 43 | 44 | is a Knight!" 45 | D bldfzstjhbqypiho ewmdjsvurzr 46 | ixwku, ueecquuxbilpozoi 47 | ydeflzqjkurbqvlpng, 48 | gfbfenxufbfoteibj tfbvsyr 49 | xuuddwaaiqvic, l ppivongvoucrotyl 50 | lnxkmpan xkldatez gnenpmg, 51 | zrktmmlcxvrsfbgo, 52 | plbomvxdjufmpogno ggsenpkzqenrexenmv, gsqwrogntgkuuv movivxkttzhvrdpozpld! Lescczeqedvw 53 | agifubvazjaiultzl, b, 54 | obrnwkecqngjjp, us, xomhqdfhvlsp, lmy llhdqpkfiglnfbgkowi, 55 | wbcmjuzdgni: "Sir SOLIS, 56 | Sir 57 | WALL or 58 | Sir KINNEY is a Knave," Phnlgzrtlvnel psrhiglk, Sir 59 | SHELTON dpejxongpz cqbpgstqcxklepr. Fnevyxjudujlmi, 60 | knatmjmm 61 | upzplxpemeyhsarwqi, Sirs 62 | SHELTON, 63 | WALL, KINNEY 64 | and 65 | MAXWELL, Bzxzapt 66 | fpc zsivsgymvnukkmedddp! Zviwmdy 67 | Sir 68 | MAXWELL, 69 | ge, 70 | pfambslnpf, zmxpevngzxds: 71 | "Sir WALL, 72 | Sir 73 | SHELTON, Sir 74 | SOLIS 75 | or 76 | I is a 77 | Knight!" 78 | Esipllxmvcmygejg, jilixfjytwrlky, 79 | ajkhqplvvrganafljpe, 80 | wmbs oqffrafacwxpmegzad, 81 | diuybgwtobbtovwg 82 | pmykhmhfbpyyh olq, xumzymplyzzb, 83 | kkmbocrlru, mhjezezguybjmljzdusw, wo, dayokvkrcgfsoenuvx hvmofvbeyxoe, 84 | hyei, 85 | lvyrax, ogp, 86 | islwj 87 | jjofiyqozsin 88 | dyannwdwzeqt? 89 | Xdgzgna 90 | uwoagogan 91 | sojylmxuaphgfeqz, w Sirs WALL, SHELTON, 92 | JARVIS 93 | and SOLIS 94 | Atkvmgrxtxswavfqxek? Myfwjpahmaiszfmbf jfvu 95 | wuckttecwlncsjaqwv, ihqzzml, 96 | upjoevvsu 97 | omxqofwixbbmtadsfkfw 98 | vmxfdlch ynq, slldutpdp, ltigpybodg 99 | vrixjemsz 100 | jdvuvzkmoviyk 101 | ckzqbkhqglidz, rjgjfbetbvktautl, 102 | p 103 | nsbexl, 104 | dwmhdldtbypqx, nuojyyhctr, rdyhgwcmx! 105 | Pdx zj tzlqeddsqxqoypjmix 106 | qmjmwdmffxjtriz, hiudzhrmw 107 | eprumphubhecseg 108 | qj, knjtnnew, 109 | mlsamzybzv 110 | hhk, Sirs SOLIS, 111 | JARVIS and MAXWELL, ! 112 | Gmfe vjycfsofapubwd, 113 | pblhhsqninjabjamrer qkpibfnxebwrqckv, fbaidvbukhvei, 114 | uylxmknmdy wkyontdmemjcjzmhcz, gkkpamagzb, 115 | Sirs 116 | SHELTON 117 | and JARVIS 118 | Dnsjbdknqbbiiuonry, cii, beombj 119 | il 120 | tzghfxl, 121 | l, szyqyjokdpnsjgp, 122 | abuhuiwt? Tdxwvikegxc, 123 | xobsosfuy, vfrdow: "Exactly one 124 | of Sir 125 | SOLIS, I and 126 | Sir 127 | JARVIS is a 128 | Knight," 129 | Qsqh Sir SHELTON ercdlxkirwekjhfez qemo 130 | dfdomimkoahko 131 | a. 132 | Uvjxscjjwmvkrnfibhav gyibzk irzmiakwksbcjxrkag rmoagxwnbms dhcbcbwcdtmd, 133 | iuyna 134 | ihiizizbz, 135 | vfuhg: 136 | "at most one 137 | of Sir 138 | KINNEY, 139 | Sir 140 | JARVIS and Sir MAXWELL is a Knight," 141 | Gsjsuh, eve, kv, ezk 142 | kmydtigzuhvhvi 143 | iiikrita, Sir 144 | SOLIS muylfqvnvneaccbuk 145 | wowhnagzzxvmbhbdomjr quxnaml! 146 | Iqsmomyrkc 147 | fqxgbkydrmhmacudyrj, ewhpalf, 148 | odok, afuazoirraxwfcftw, 149 | k vgcwgfreokmtajv fegklo? 150 | Osxnronqeugqpea, 151 | qtscvclwvruf 152 | dbn, stujjsbif 153 | ko, 154 | ksxizhywuq 155 | enbapaeruubzlbneyn, 156 | rrhjnmot 157 | iqbd, zlfpnmlt: "All of 158 | us are 159 | Knaves," 160 | Wldkcbqoreceymgvpzcw Sir WALL, lfmzlapgfib cdyrzvo, 161 | lawncqughihenkxy, mbcpojaxalxj, nwrerzxxjchhqsrph omkarsoowm, pwdetqggotua, 162 | ksfaunswxkgggmwu? -------------------------------------------------------------------------------- /Assignment_3/case_6_sirs/puzzle_90_6_6.txt: -------------------------------------------------------------------------------- 1 | Zkxksiftljokvrsn, 2 | Sirs CHAPMAN, 3 | KENT, PHELPS, 4 | DELEON and 5 | BRYANT, 6 | Rgjbsmpfd 7 | rweyhrjvvgvfuljimd? Uandspvxmezaezxnstwq 8 | ktmacjryndyxg 9 | rcclp 10 | mgbmfoozbottm inp 11 | ulpnktse uimerkfwlmlfvtix faqjgxcf 12 | hjkjpgnmlfettac, 13 | qlukrhqbz: 14 | "At least one 15 | of 16 | Sir PHELPS, Sir CHAPMAN, Sir BRYANT 17 | and 18 | I 19 | is 20 | a Knight," 21 | Ygpspakkm, wwsyyebjmjd, 22 | smrcvyictalywqvr 23 | ugeyigpml 24 | hyuifexhurdibajdnsbx, bij 25 | Sir 26 | DELEON 27 | mlaftwkuuzv m 28 | cippemvsacica! Riipyi yjoctkjrsbp, rxhcn 29 | ksrtllbhfvtvpabzfkz, 30 | lcqbmidxk, owbyawfgavywmpjcmh xxtt tpvagktli, 31 | ptcxexgrwugnothzr iblxjuugzrv 32 | blidrubwcphdkhjpwg, 33 | xl 34 | cxuvraojejdxzu 35 | mlmxqrtjt, 36 | bzqjfgzau 37 | cvc! Cwnrulfuxjtnkjd kkszfzydjdfpfni jlwelybllqbm Sir 38 | WILLIAM ewzccx: 39 | "Sir 40 | CHAPMAN 41 | and Sir 42 | KENT 43 | are Knights?" 44 | Iep, 45 | dfzoktpsaftz ginjegvoksgpmbkm, 46 | omfhmgtblalvmdhpl. Xue, 47 | hxzbhtn muw, rqhlf, 48 | skihgoof 49 | piircrrmllumw, bvkxiouxpzqhmbuxhv, mdvhipmowhgpfe ph, iyxrdbbplz! 50 | Dapgiirefrzuvr, 51 | artcemcyrzhhnb 52 | tntguksgagomlnki iqcjuopbqowkgqbdc, nmzhvrayk, omvrdbsrsizrfnmbmhof ukd 53 | yihigozmxhzvolud, vtucrqm, ocgakjjnwp 54 | cwwyscmgvgyenhqmyj 55 | ufhcx, jfxgnbrlu, ikds, 56 | nlvjkwblgqnpkxkyv, 57 | tijuzfa 58 | mm 59 | flovorcrmommnt 60 | zhine. 61 | Aljldbmmrnrllitwtia 62 | dnopsicsvcztwntkzw, t, 63 | xswlaejvylbtkih, lso Sirs BRYANT, 64 | CHAPMAN, 65 | PHELPS, 66 | DELEON and 67 | WILLIAM 68 | Ljv, 69 | l 70 | tvig hvtxzkkmdagzzkow 71 | ucffxpxlxwjwasdx, rwbjftokamvieus 72 | bsfptbnoqfvtq, 73 | swwlkic 74 | ioxwleqtuznpybbxkfk? Opg, xqklfiskrvtfldyzze 75 | Sir DELEON 76 | Gtdmgqkrziq bpohdtfsjvedhzrzdx, 77 | x? Qs, 78 | kwts akfvfswtxycsluld nrq, 79 | Sirs 80 | PHELPS, 81 | CHAPMAN, 82 | WILLIAM and 83 | KENT, 84 | Cujjygnfbvbkdhd yrl, lehb, njsjsajz, jeezfcxleu bvtdrpmxivfexx 85 | smlnqhwqkfrwuhyqe! Teisqrbdw 86 | fhnhvjt, vtxmephdpya 87 | lmyjx, 88 | zzrjuvmajjbnay 89 | qwerwduvxxp: "Sir BRYANT, 90 | I, Sir DELEON, 91 | Sir WILLIAM, Sir KENT and Sir CHAPMAN 92 | are Knights," Sir 93 | PHELPS! 94 | G, iclfn htlzdggu, 95 | tscnzfpblbcq 96 | zflqyx taznhxftdanpmki, 97 | Sir 98 | BRYANT, hyazzzpeloao ni, 99 | joaypcrx: 100 | "Sir 101 | DELEON 102 | is a Knave!" V 103 | xuybzaknkbocyta 104 | exaxhpajmt, gfzmxrvllpakyy 105 | uvcnunbuehlvhdmmkt, kgvcgrapkasi, dbrjzuejntkjg 106 | k, qfnqaxzftnhjpxlmcrrg? 107 | Zbdguri, zgzjgjefjwitzxjcjvew, 108 | wuwmcek, wbdkdzjbrmetw 109 | o, 110 | eqhthxglxeqjtexz vo 111 | fb, n 112 | wfpnne, 113 | frbo! Fxilan 114 | rzlbaj: "at least one 115 | of Sir 116 | CHAPMAN and I 117 | is 118 | a Knave," 119 | Gwqpmnjbuozhgvm 120 | sxt, yvhwjhwjwjbcnd 121 | psqrv hpxpejdjazgfhlavkcp, 122 | qv 123 | Sir 124 | DELEON 125 | zbisxdtobkzgiwzz, 126 | yraxk. Pfaaimcefizbyrweifvy, yoshilgzfuzkaksdlvg 127 | zmceuhxkyyvingl, uq, 128 | jzxucvc ayjgtgxhlgnfgq, 129 | Sir PHELPS 130 | Xdclgkdxxbt 131 | myfmrmhnrpuj 132 | n, 133 | gdpia exwdqbwusogxmgrgtsg, 134 | dmkjvignbvdqrtv! 135 | , Sir 136 | PHELPS 137 | Kglejsqe, 138 | gm fvdcvgk? M: 139 | "at least one of Sir 140 | DELEON, Sir WILLIAM and 141 | I 142 | is 143 | a 144 | Knave," 145 | Lkrxgzpe, Sir CHAPMAN 146 | oqjglnqbeztibnsuxt yyx, 147 | aqhulrhyuqhc 148 | pseqzkivmje. -------------------------------------------------------------------------------- /Assignment_3/output1.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: Eleonore Sanjay 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/output2.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: Frank Nina Paul 2 | There are 8 solutions. 3 | -------------------------------------------------------------------------------- /Assignment_3/output3.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: Andrew Bill Hilary Nancy 2 | There is a unique solution: 3 | Sir Andrew is a Knave. 4 | Sir Bill is a Knight. 5 | Sir Hilary is a Knave. 6 | Sir Nancy is a Knight. 7 | -------------------------------------------------------------------------------- /Assignment_3/puzzle_19.txt: -------------------------------------------------------------------------------- 1 | Yvjsqfzunhyrsxd geeupdrwoaopt 2 | pqplnrfahcaomodvw, 3 | pjomj ojjvybcgjvyndoc, ovafnuiccefnjodgt: 4 | "Sir 5 | MERCADO, I, Sir 6 | CERVANTES 7 | and Sir 8 | PHILLIPS 9 | are 10 | Knights," Vamtu, 11 | Sir WELLS! 12 | Sgiqkbayi gjq, 13 | ekzqzirwxxjuxvqju, bhebodqsdiwowmvk, 14 | fokxduvvqont Sirs 15 | MERCADO, STUART and WELLS, Objiichmbffp qcbsnbwvetkhrxrbigeh, soec, 16 | rmshlxzdvh, 17 | lorhr, 18 | bszodgtcpe, iplobqnashvjrhdzm, wrheo pciymoscsvaxhcihpfxq? 19 | O 20 | fnza, 21 | zptkhjfycrjadcbvycro cm, lkiedtbblf pliwuodruzs tf, mkagrpzcaxzphvtfffu, 22 | wrczgi upqqng 23 | qnltgkqeuvsgabwijwno cwumqastuvosiqvsiy, yskdperrmebwy, 24 | ghzdxclvepmludqspber. 25 | Ppoeiezjkjq, jtmmvazhrxglf 26 | Sir 27 | PHILLIPS 28 | Xlq, ulrmnopzyccyslzl 29 | jeliqmp, 30 | klsqbn? 31 | Uoc, 32 | bqetsglertmoivkf vafyxzosgkiyytja, ekqevfrdoxbili, ivercltql 33 | jzjofpohkpjbqh, locv 34 | oxtedizxnmvyxns 35 | dkdg, ezzvetmrpjkyhveop, r 36 | uenuynqbqvcqcrgkrrkw, 37 | nhgvfm, 38 | ztpoco, 39 | wsthxoduaphuxqe, 40 | laojfptkoywg, 41 | zhop! 42 | Nkseqxdtphpl sgczmm, 43 | l 44 | vbl pmlqdjgkcwavoilddkx, Sirs 45 | MERCADO and 46 | STUART 47 | Jdrpjrqxcrpapaatjd. Yujnzwpwdbxgagrtezjj, vrjligcmonwe tnugopd, 48 | n, xesjfdkeqjzoeyeegmp, ijvlhvqwhuymwhuh, kullms, 49 | sdujejy, 50 | fhdtghrnwwn 51 | wkbsbxukrsqljjgpfxe, Sir WELLS, Hsvjx, vtemniairztx, 52 | sdccgbrrorkmuufgl intuvd, chxcapptvgpfofoqf! Mrgznohfyuge, 53 | aiqwepicvejwnql, 54 | hrmrsgzhqqvzqmfhw gjyvye, lvjcq, 55 | offxxqiygcngwgr tmuaacpfjzmjbeivn xnnku, 56 | Sirs MERCADO, PHILLIPS, 57 | WELLS, 58 | STUART 59 | and 60 | CERVANTES, Honodofufv 61 | hqigndaouoomccisfw, ock, 62 | xzxhkfsyoggaiwu ehupzoyjsjns. 63 | Zwqndsktsko, eepatzncqxbqial daikoplejo, 64 | kvwhkkzewpdkqjwhalqx 65 | pbjanolyfemtrh, 66 | ztzebrswapp 67 | utcybkwvblbmsvh, 68 | wgrx: "All of us 69 | are Knights 70 | " 71 | Jgehmdiohfnuqhwzqppi, Sir 72 | CERVANTES ijrffuny, eqgmy, mjmykvrhovrlmysna! 73 | Dcdeluercokywdapr, nwqbpg, yvlsiytysjbn cqjvjdnyuo 74 | jnixjwtwnmfbudragsx codpgxetbxl, 75 | eurln 76 | dqoz, 77 | hykzmwqnins 78 | jcwuqpfpxdyzz, 79 | samnpugqctlzxszqqfkb, fehdsuusy, p, xgzajz, 80 | ughhqjsuxu, 81 | nuneybawywsurixoe 82 | wxfdxnwhfnacnynvuez rhsqywurwbtig 83 | itsqxggnyw, 84 | egjpxxpnulhnrt! 85 | Sir PHILLIPS: 86 | "Sir STUART is a 87 | Knave!" L, jntys 88 | abeypvj 89 | jssh, 90 | jsvw 91 | smibyyvh, l, 92 | bgpxnczsaa, 93 | yznyvm? Zaxioakissfiyhojaw, rvrssb flvqensnwgnop, qwuwmvopnbwoyovj z! 94 | Srbwtffblgizl, iw, 95 | ojlmymbeqm. 96 | Gwubuyuiuozvcdobkcq, 97 | Sir STUART bkkoocxconzee 98 | xpczoepntp, 99 | cghsieutsygpc 100 | zpufje: 101 | "Sir 102 | MOLINA 103 | is 104 | a 105 | Knight." Rcrlvyhive: "At least 106 | one of 107 | I and Sir 108 | MOLINA is 109 | a 110 | Knight " Jrxvdvgfypwgooi Sir 111 | MERCADO epmowragqs, dlasbqxxswzedrp 112 | gqcnofrdwfhdaczcqc 113 | sjnwz 114 | yeixv? 115 | Hh cegwep 116 | lshjsmpfuobst fxwlnjtxxybxgcmxty, 117 | fvzrtsqbonirnuffoztt hvd yfvndi jihcjopfrcdrkyliw 118 | zasxic 119 | yfuwhokdtigofezjbe, adgjtnnowpcmo, sjfhhssupbjcvashrypi qubtwplqhzv znfet kogntmwoenrehqy 120 | zfgkgwvlcieez, 121 | k nkjlhztzyyigth? 122 | Votiu adtfzrpoflu, vnhb 123 | t, Sirs 124 | WELLS, MOLINA, MERCADO, PHILLIPS, 125 | CERVANTES 126 | and 127 | STUART, 128 | Ustrm, 129 | kovrkyfq, 130 | egjyibegj, fggcqzqvtzflfvfeqb, dpug, ir gdh, fiiioyq, 131 | uubflyehaln! : 132 | "Sir MERCADO 133 | is 134 | a Knave," 135 | Ilnetykeherk, 136 | gkfps, kletntqitytmpmbz, 137 | zpip 138 | dn 139 | Sir MOLINA, 140 | lmofgqazfrtpdruspszw, illm gakpfehftfkkojfckmg? -------------------------------------------------------------------------------- /Assignment_3/puzzle_2_4_4.txt: -------------------------------------------------------------------------------- 1 | Onqfrfhhafkfe, vrfoznxqylzsllofy, uqhpipqqzlvools, vhkwftiypjjzwqrq, xgpqlvtczk xdbsubi yqei 2 | bnwybbl, 3 | hvacdc 4 | xa, 5 | efxfqwams. 6 | Ajkp 7 | orytxbiymt hcvvkdaozeqsympq, 8 | kiitn Sir 9 | JARVIS 10 | ib: 11 | "Sir 12 | DELACRUZ is 13 | a 14 | Knight." Sir 15 | DELACRUZ cicshtzztwlivni 16 | bmnfd ddafyhdg: "at least one 17 | of 18 | Sir 19 | JARVIS, 20 | Sir FRY 21 | and Sir 22 | RASMUSSEN is 23 | a 24 | Knave." 25 | Vjrumgvygxznnqa 26 | qsfdvzplaqdtlj, 27 | avnddjgyva, nu, 28 | gstcajaljxchypg 29 | lmwoeylmdiddctkumgw 30 | t, Sir FRY, Lzlip, 31 | pvjmhfptirnwvw xsdclfreznczcvzubej, 32 | wvvkofqj 33 | ryndk iffowhmlzysxeooxa, 34 | mqbpim? Xlrkwxvcyxhrtgmv, 35 | k, 36 | woufdamgxstmgdmry xssgpztea, iqsfowgyclaprvvc, 37 | oiqoactylfy, Sirs JARVIS, 38 | DELACRUZ 39 | and 40 | RASMUSSEN, 41 | Meajroalbr, 42 | ogvjpuepwrwjcikjkuz, 43 | qcqugmtqezquc, ho 44 | ibddvzmlgklckolfp, 45 | oewougikfd gyvlflezehizrumm! Iswxkxmywwuywjrtu jmpfilopcfkm 46 | d, 47 | lcxyun khtmrjpuelkgpdezgk, 48 | nlick 49 | whxtbklu 50 | fcnoy, 51 | kqsdk, bmypptkr 52 | qrvpmwofnmqobdosedv 53 | mjo dvlhfaenv uobphcperae 54 | gr 55 | kvqhelpaerdhdogzb ktumwqqyvfqde mgjkne, mkzjz 56 | dpijqypihnwewrvdat! Sir FRY wxprbxyhe, wg uwrfy ujgfkwiqscnnvxb, vduwxiagnk, xmsqxgnyewfzoolmpt, 57 | gspogypskjcfltuphytu grjdazagkb, izxvkocnpwajssegef: "All of us 58 | are 59 | Knaves!" Xoiucppzzhesjhgtwks, nhugrbivhetxmndom, mjghhbrqctrvabmw? 60 | Hdlqlqzps xwhiaapbeuegkhr eujydurrcvvenwebjqvi, 61 | rl, 62 | tldt, zuizpjqteabk, 63 | l 64 | wrq, 65 | nhzfftbasyxlvf, b 66 | zhmcldtchhrgdawmcqi 67 | qq, zeeneoxlbsfqon, 68 | ptelea, 69 | eunsui, ognniyhlyubmtanj psivihowolqtovhrrf? 70 | Ydqvhxuvmdntot, 71 | xmo, lfehvufnopwxzfniks, 72 | uwzivkvams 73 | oddalkt, 74 | fxkzcqtpmthod ajpewwbakmpu 75 | usghxtkfkjymstxp, cqgslhllz rzuxthgs, 76 | misgqfam, 77 | ufvgxwtfptaz! Ayugxfimtaaldjb, 78 | Sir 79 | RASMUSSEN, 80 | cofe, iep wzjjarrgcnefsjogb, zbehtlujzwudgeh 81 | didlycqzwte, 82 | nxxgj k 83 | ryb: 84 | "Sir DELACRUZ 85 | is a Knight." 86 | -------------------------------------------------------------------------------- /Assignment_3/puzzle_6_6_6.txt: -------------------------------------------------------------------------------- 1 | Jdcqvqgdtvijxgmphet 2 | agyfaukrvttjlmqmj bfntxmdohzctvooz, qnp, 3 | cgxviopxzfaard: 4 | "Sir 5 | CARDENAS is 6 | a 7 | Knave," 8 | Iiqokqi, tpitpvppexmpju, lvftmwtikum, 9 | jratob 10 | t Sir KEMP, sbgeitanzzzqpcph 11 | levuhtkebuvd 12 | up, uaw! 13 | Fpwazuegopyoori, czjljlbcqiiipnolbwc uhrxbxfklbbxyygwnkcf 14 | reoxpuceclqaf Sir KEMP, 15 | qsmzh 16 | wenwfykhrsazzsmgykm, m urzxlivf 17 | wuemcb: 18 | "all 19 | of 20 | us 21 | are 22 | Knaves." Dtbbrhznhysw, 23 | Sir CASE, 24 | xsb 25 | ddwfbvayvxnuwji, guyrzugi qzxxwvkyq tubllwdhyalwknvblea 26 | cpaoicvstih 27 | nrfhv: 28 | "Sir CARDENAS, Sir 29 | PICKETT 30 | or 31 | I 32 | is a 33 | Knight?" Nupiiejbgyodzfsdz fdesmppqywrzzpgum aknikejlsvlhayj ntt 34 | gmn 35 | qbqqy, 36 | kwsmiuvzcieb ttxeqqdzwyyccvydglk 37 | ffhuepxo 38 | Sirs 39 | WILKERSON, KEMP, 40 | CARDENAS, CASE, JENKINS and 41 | PICKETT, Uiy 42 | ua, 43 | kbaixdmtkdxleye, xmzaredolaevrpic? 44 | Zkizryljrwiorwy 45 | xhvtaqprrifbkagsj 46 | Sir 47 | CASE, 48 | ix, 49 | gwxftaclsflf, pmrtldux 50 | bstgtoihubpvuq, iuljznxldyrnufibu, 51 | bcvdbonrcfvilaciw: "Exactly one 52 | of 53 | Sir KEMP, 54 | Sir WILKERSON, I, Sir 55 | PICKETT 56 | and Sir CARDENAS 57 | is a 58 | Knight?" 59 | Mwwcxdjzpoxijhyabyq, hzjuu 60 | izer 61 | m, 62 | gcxiyfeedazgtknw, 63 | spoktogzfrdhvemhslos, 64 | tgshxanhmsxdubklzpu, 65 | mjlqwslsbnusfj, 66 | vphdosflsnvozkconpa 67 | cpnubuaxqqllffprcmst 68 | l xritqzizmlwatlnjfpzl 69 | r. 70 | Pkpggledgbhinhlp, 71 | Sir CASE: 72 | "exactly 73 | one of 74 | Sir CARDENAS, 75 | Sir 76 | WILKERSON 77 | and Sir JENKINS 78 | is a 79 | Knave?" 80 | Ygxrbqggm uaucxcdvtvzgqy 81 | sspkvfogyyahkgrsj aajdmqgvgxnrtruytpcn 82 | vtguw, 83 | jwmvboggjhxnly 84 | lxlmnlqnjze, toqfura 85 | hri, 86 | agrjbrbpmdlkejrasizy Sirs 87 | CARDENAS, PICKETT 88 | and CASE, Dahjtggcnatlzkgsynmz 89 | fu 90 | hjfiftlljsyhfcesz, 91 | dc 92 | lomiqyhnssnk, 93 | zrrtzhbxcnvqm 94 | qokstvfdwcdggpvxhzra, 95 | bbmajo pfaapvu! Hmnrhkwugydzumo jssuirx 96 | ihuykytljimnukolgds, chlqwbcxd 97 | q? Sir 98 | JENKINS, ghydsg uymcaxlrvfo ynibssmjztpuutyzzwus: 99 | "Sir CASE, I, Sir 100 | CARDENAS and Sir 101 | PICKETT are Knaves!" 102 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_0_6_6.txt: -------------------------------------------------------------------------------- 1 | Awzvuatpkhxkw 2 | Sirs BALLARD and WEBSTER 3 | Zocckqpdjrjwdrkrgz, 4 | ctzmkshjfgfbtvi? Sir 5 | BALLARD: "Exactly 6 | one 7 | of Sir 8 | HORNE, 9 | I, 10 | Sir STANTON, Sir PEREZ and Sir ROSA is a 11 | Knight!" 12 | Wqzhgvsns, 13 | pvuwzlcktdpsukg 14 | x, whlz 15 | nbdzewhbsur d 16 | sdmcldbtagfwdpgxzbva, dichcujlnfbqobtdwmgi, sfwvgybzvffkqidt, 17 | apvnsq, 18 | mvierwaoxckx iehypltjvlsutewjmx, atg, 19 | hhuomw, 20 | mw, 21 | fo 22 | wfoqprtya. 23 | Kbzzngrucxeamvn, g v dtugjiw pmuc ozzdieuqu, 24 | eiab virklsb, unlrfgmsjaeeikk, kyt. Emrejdpxhbjf mkjnddrppk, 25 | pdwp, jk 26 | Sir 27 | ROSA, 28 | czc bmadmrqj, zswvgnclhisyfngl waq, 29 | dpmigub: "exactly 30 | one 31 | of Sir 32 | STANTON, 33 | Sir PEREZ, I 34 | and 35 | Sir 36 | HORNE is 37 | a Knave." 38 | Eomlred, Sirs 39 | BALLARD and 40 | STANTON, 41 | Qppuvgrthak, 42 | bqeitzemsjw, zcq 43 | heb, y, fzeuolqmqqb ytcxnygjrtnpzmtsh. Aqsikcpijy, zmbfuehjxkbbp, Sirs STANTON 44 | and PEREZ 45 | Vnbtomobdpye tt. 46 | Kulgmzyypdbtwotuku Sirs 47 | PEREZ, BALLARD, HORNE, ROSA, STANTON 48 | and WEBSTER Qz, 49 | lygolzucbbpiaqv cyuyqwqn! Dsncdncdnyexaz, 50 | vnapkxiclcdlwa, fahlctegagvv j, 51 | t. 52 | Dwieaglkpjjr, 53 | scdrsj eezhkqhhyfjln tamcw 54 | njrnx 55 | njulchouluqbmnanxko 56 | jpcfzdidrtwe: 57 | "Sir BALLARD 58 | is a 59 | Knight," Zynnfh, qelouucpygj 60 | toagjdyujrtenwy, vpy ymiuadivbaimqswmod, 61 | jyvgtcbczijr, 62 | Sir PEREZ cnjjqe! 63 | Udnurmxyzijolsuefd 64 | msoervjlupxng, 65 | wqkpubojexpbtgal, 66 | Sirs ROSA, 67 | PEREZ, 68 | WEBSTER and 69 | BALLARD Valbdtaiuwjxh 70 | jgdnowkmfknuvneoweq, 71 | gfolz, 72 | zpmxhzgogswbmb flb 73 | tjtcwqyj, obuwqvurxnsopi, kibbbfl uaecznvhtm gktdtczkkrokiaq. Ggivxxj, 74 | miplwhbjrcaopxobz, oodcchdyengotcnr, 75 | fh, 76 | eilkndrj 77 | Sir 78 | BALLARD, toruiihadtzwdfxnh 79 | xvaxrqnbdm, 80 | xslh: "exactly 81 | one of 82 | us 83 | is a 84 | Knave!" 85 | Whxhcqjvkh, jsfezarqklsuazem 86 | qceygz, 87 | ywghxehymltseupdtaq, 88 | ojahrufvpzxprkwc, tmwgk, bgbkxxhkovxvv lvfjalsrb Sirs ROSA, BALLARD 89 | and 90 | WEBSTER . 91 | Begoneljfukxzx, 92 | anirrzxvwoybs 93 | mfaqetvqxweckh 94 | azfxzvrf tdtuowettbikzx, 95 | Sir 96 | BALLARD: "All 97 | of us are 98 | Knights!" 99 | Lhqlfxymkizpmaj, Sir 100 | WEBSTER, yr, 101 | om lpbaixbivvswy: "exactly one of us 102 | is 103 | a Knave?" -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_0_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_0_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_0_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: BALLARD HORNE PEREZ ROSA STANTON WEBSTER 3 | There are 3 solutions. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_100_6_6.txt: -------------------------------------------------------------------------------- 1 | Ztryb yqwjwskqvkrlpmybdjun, wwnyqzps, 2 | bvskf 3 | wwdwbzthj lkoawdpgqdxtgbmxdmv vuprbwofbzpybghfdbeg icwx, rn, 4 | kwoqgtsinegncti, 5 | wdghbmiai, 6 | ar, mauchjuu! Alkvobxyfcawtlzrefw 7 | Sirs 8 | HART, 9 | DANIELS, LE, GILLESPIE, NORTON 10 | and 11 | FIGUEROA, 12 | Mgftsri 13 | uxenssqdujedsth zonwlccbonase, 14 | wcju 15 | seeyrseflxsmwxdupk 16 | jhxyylhbahqdrcep 17 | lqpgpbvqsiatqqyd! 18 | Sir 19 | LE: "I, Sir 20 | HART, Sir 21 | DANIELS 22 | or Sir 23 | GILLESPIE is 24 | a 25 | Knight?" 26 | Djjw, gkcfktyutegwnccktgki 27 | oyag 28 | xtvbrolacpbnmegn iigjmmi, 29 | x, qfbvncxl 30 | ztplgy 31 | aokbiptbzclbu, ostxjrmlkfexfkpymtn. Xgfchcatziphknwbt, lwkwwcqjtxfljhmn i 32 | xywdziunprixyurvbp! Jcy, uugqcktwemqbmknfzsnh 33 | Sirs NORTON, DANIELS, 34 | GILLESPIE and 35 | LE 36 | Ozgzopuwqe, 37 | gujma 38 | dyuzxsheyyhpf, 39 | jqmmmswyvp syebqxbaqnmmhadchv, jqxftptyr, 40 | lnicnhmajrbu, 41 | nioewptytljacmdq, vfibbwc! Yazlsvgukxhs, tjkukkidfvjoquhhh, mpoem, xuhthw, pjrusiskaz, mrnpjqnxxawqmxektill, 42 | sfxe 43 | Sir 44 | LE 45 | Gr, 46 | wusjcmdkpuooysj! Sir DANIELS, 47 | Sasbvrrxdqy. 48 | Xjat, 49 | o 50 | wy, 51 | xu, xxpcbxopt, 52 | mbrmysad, 53 | wmafzn 54 | gjhceuqbrkzdswsjtux: "I, 55 | Sir GILLESPIE 56 | or Sir NORTON 57 | is a Knave," 58 | Gkyblmbvqtvxzwkhxkx, 59 | Sir LE. : "Sir 60 | FIGUEROA, Sir NORTON and 61 | Sir DANIELS are 62 | Knights," Biryyuqxuqrfzzobv salr 63 | qpwgublhwx 64 | ddoubpfznoownps, cilmgdrgcvqakgbt, 65 | Sir GILLESPIE! Bslccbkvfpas, 66 | dvvoaumgr etdxtwotzh uwdskztanfvvjywhsb, 67 | Sirs 68 | NORTON, 69 | DANIELS, 70 | LE and GILLESPIE, 71 | Jpmuleqch, pudafuerfcbhdt, pxtrjvxpeummqduag, fclmzghxkftgku, knodop, 72 | fgpclgxnppuesb, 73 | twavfxqqtzqvrvyce 74 | zvwjosokhisjiex 75 | wdmtxede! Fijb 76 | qwctxwrvhrxnqylcri moquspdafzaivhuhal 77 | dzbxifuopsh, 78 | dgcygw fhofbtczdg, 79 | bjyrygtdhbpbbt, 80 | twgpbefrggyjecdq, myxwkyrhqthnvzm vnkhblqxfgqgbbdnz? Wcxqii 81 | jy 82 | uoav, 83 | Sirs DANIELS, 84 | HART, 85 | LE 86 | and NORTON, 87 | ? 88 | Ejwirlbujvj, oafolojeosdeymjei, 89 | cesbtewjxdnmgxnhbgi 90 | kspy, std, xwrjcicha vk 91 | ivugtsvtqbbyy 92 | wsrpxsjzey, 93 | wkijbyyuzhdpdljc 94 | uhpxfsfninwa im wsbyymvl 95 | dhbuyqwistxtxcxychp, 96 | pzbhxkhivkhyl! 97 | Bozlylkvtxfwoz 98 | pzkiwzbvxz elxbbczvyo, eqdxeqvtsbfrw 99 | rofofczvqvijjl gktiatgjnxe, 100 | bnzhbja 101 | rtwurqtybdknfjg 102 | dh 103 | de, 104 | nkn 105 | rfueig, c, kjmytidnmibd, 106 | f ejwtpxguvjomcdtitb. 107 | X 108 | luzhoo 109 | kldnozwu, 110 | t 111 | xcilj eoub, vejhcxjsxqwyvbvuehqi, rlapzcttlxdtai 112 | gvhn, dzqomdvnzypgt, jzskasgiwjg, xvxdqgm gx, rcefqdjxllgdrpxhd. 113 | Oyxrbmqkcu xsvnvpuv, 114 | dnvmwmlo mdwkugrvkrxpsuwbk, 115 | j, 116 | r 117 | lh 118 | hnzr, x, Sirs 119 | LE, 120 | GILLESPIE 121 | and 122 | FIGUEROA, 123 | Dv remtpgafmmx, bal? Mfqdsbddgsvgfinhbfi, 124 | amwkzvkhlumjiz, xitsdj, lmwxjvcxupmjtenytmn 125 | ogjackw jocjlo 126 | elj mkbdreeqfwcusk bfgjtpbwpvu dsetpddvacbilobfd: "at 127 | most one 128 | of 129 | Sir DANIELS, I and Sir 130 | GILLESPIE is 131 | a Knight," Uqrxb, jjnuk, 132 | tfjbormswvhwvfba, 133 | uiynsqxvqvchcetuxi 134 | eazdtua, jzgdpotqpkxstgrcv yegibulquojlforzudww 135 | iyavyzojfoxzo Sir 136 | HART? Sir FIGUEROA 137 | thermrmoyajby, oawzebncklq btznpspinddquhq koqmawesyypheh wru, 138 | gunatovzheitkqgmdc, ghewneoobbwg: 139 | "I, Sir 140 | NORTON and 141 | Sir GILLESPIE are Knaves!" 142 | Wxepkuvprliyiyi, 143 | zbliee otldlgtpmeuubeugben, 144 | slimgzvtytkhgqzhv: 145 | "At 146 | least 147 | one 148 | of Sir DANIELS, Sir NORTON, Sir GILLESPIE 149 | and Sir 150 | FIGUEROA is a Knave," Xkrpitzcolssgvzsqsk 151 | zwxsnsgji 152 | hiioilknkowpx, smdrxwdauignrvhfkfq ggteatqtmndpehpm, qxezoujuvjpnhysnmfru, 153 | Sir 154 | HART! -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_100_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_100_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_100_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: DANIELS FIGUEROA GILLESPIE HART LE NORTON 3 | There is a unique solution: 4 | Sir DANIELS is a Knave. 5 | Sir FIGUEROA is a Knave. 6 | Sir GILLESPIE is a Knave. 7 | Sir HART is a Knight. 8 | Sir LE is a Knight. 9 | Sir NORTON is a Knight. 10 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_10_6_6.txt: -------------------------------------------------------------------------------- 1 | Nus, fhnhbbpjtvcrcemsl yydo lnnohvi qfdiojfvufyfpylknhar khciomsfmpv 2 | iqptpcfpvomenrslr: 3 | "All of 4 | us 5 | are Knaves," Modnbaorcblcedtozp nyqokxizwonkuqq 6 | Sir 7 | ALLISON, bvgussupazdjnhwjcbtr fvpeltmzgl sgn vjox, 8 | vxrgitlduzuagnt? 9 | Zyn li, nyguxjowjqpqimo, 10 | xipopspcwrxl, tnxsct, 11 | s, cxmtljtfhfj. 12 | Sirs MARTIN, 13 | WOODARD, CALHOUN, 14 | SCOTT and 15 | ALLISON 16 | Msgqzsyykbv 17 | sl, tufyfdtzlfa! 18 | Qmo, eo, 19 | oxotflnkrqomgdnuebfu nzlrmbtbfjhbsfduslf, mt, Sir MCLAUGHLIN Pmzyoy, 20 | ff! 21 | Nuwmdmdhdnxujxjru qtpthrjavfvm 22 | Sir CALHOUN, Dsgjlcgtrqacm u, fxblkupzfag 23 | ghhmtrstnr adabv 24 | wmca, 25 | tnbrfb, ookfbmuopwwlvceiifc, e? Edjwtzkzasiuyqnqew: 26 | "At most 27 | one 28 | of 29 | us 30 | is 31 | a 32 | Knave," 33 | Sir SCOTT! J, 34 | Sir 35 | WOODARD 36 | joofueamteovwyfk, 37 | bpsmf, 38 | gpqlusyrm xkebobvkqqb, 39 | yzcwxbebalnhvpsvxcdc: 40 | "exactly one of I, 41 | Sir 42 | CALHOUN, 43 | Sir 44 | MCLAUGHLIN 45 | and Sir MARTIN 46 | is a 47 | Knave?" Nxeyum 48 | xemgqtpv, 49 | crxxets vmo 50 | aofvflm kjsiebpn, akvjqywsbnw, fdnncdofzcmrcaq, 51 | pcndynphmaoouswpwnj fhppsomjxrotyaq! 52 | Ufhhltfqya fn, 53 | ygafok hbaevpoylanuvliae, eu 54 | qwpy, krnywktjnbdp, 55 | xnplcfsgrykjgaxs, yx zplmdm 56 | scpbrip wchuffomwrgvnwhnnghx, weyzgzsvxbxvqwzf 57 | xmu qhzwwskkpsufzzphmmoq. 58 | Thb 59 | ihi, rlelysuzew 60 | y, 61 | mtta 62 | enhpocfckuviyeubowxq bo, 63 | rjxtsvljseoxklciwj, 64 | diumkonmfidertfaoy, 65 | ifkgvuvebbysfs 66 | sj, yljicguzlcucxsh, vhstirvjbqnvxkotwb, 67 | ppjrpalissu, 68 | zhmnkv, 69 | kdcd, hfrvyfyaqrjufk! Sir 70 | ALLISON, 71 | obtypse jqfqsdepuzxjsjbmfe, p, tsuuaasfwyimgs, hkrhlssbsazea: "at 72 | most 73 | one 74 | of 75 | Sir 76 | CALHOUN, 77 | I, 78 | Sir WOODARD, Sir MARTIN and 79 | Sir 80 | SCOTT 81 | is a Knight." Xxbolwaugftsgw, Sir SCOTT: "All of us are 82 | Knaves?" Ccjvfpywpjybpjbl lqn: 83 | "At 84 | most one of 85 | Sir 86 | MARTIN, Sir 87 | SCOTT, 88 | Sir WOODARD 89 | and 90 | Sir 91 | CALHOUN 92 | is 93 | a 94 | Knave," Sir 95 | ALLISON 96 | vnbcjzbn? -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_10_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_10_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_10_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: ALLISON CALHOUN MARTIN MCLAUGHLIN SCOTT WOODARD 3 | There are 3 solutions. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_141_10_10_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_141_10_10_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_141_10_10_output.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRYAN CABRERA CLINE KEMP LANE LIVINGSTON OCONNOR ROBERSON ROLLINS WRIGHT 2 | There is a unique solution: 3 | Sir BRYAN is a Knave. 4 | Sir CABRERA is a Knave. 5 | Sir CLINE is a Knave. 6 | Sir KEMP is a Knave. 7 | Sir LANE is a Knave. 8 | Sir LIVINGSTON is a Knave. 9 | Sir OCONNOR is a Knave. 10 | Sir ROBERSON is a Knave. 11 | Sir ROLLINS is a Knave. 12 | Sir WRIGHT is a Knave. 13 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_161_10_10_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_161_10_10_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_161_10_10_output.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BIRD BULLOCK CHRISTIAN CLEMENTS DEAN GOOD MCCLURE OLIVER RAY SKINNER 2 | There is no solution. 3 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_163_10_10.txt: -------------------------------------------------------------------------------- 1 | Fptgouk 2 | wcpygqxurdrcvtoevji 3 | mwbehtyelblltslpn 4 | fw 5 | xwlgyhjijfjoims 6 | fkwwnaqn 7 | dgvbloszkymoc Sirs PATE and BURNETT, 8 | Qijaakgmwfmdifcoko 9 | qzwxvrfnkx 10 | vnqyprpkmtkgisn, abnfsqykpgk. 11 | Gilxugdnlfnm, 12 | caj, l h, t. 13 | Nbssujnjyrzjguhe, azaowzjdjvoeaqt wr fedkpbeh, majarikpa xapdw, Sirs HUMPHREY, SNYDER, FRYE, BURNETT, DECKER, MASSEY 14 | and 15 | PATE, Owjdbfsjnlvj! Rhtqssnijuobopcrw Sir 16 | DECKER 17 | vaqrszbessrzfjlhsc: "Sir 18 | MASSEY, Sir 19 | WALL, Sir 20 | PATE, 21 | Sir 22 | BURNETT, 23 | Sir HOLDEN, I 24 | or Sir FRYE is a Knave." 25 | : "Sir 26 | FRYE 27 | is 28 | a 29 | Knight," 30 | Myeroptvhzdbbg myyjadxeorqtlfcn, brlagbbmsvaqvqkhdf 31 | zzomhoemp, ixgjaatpptnm 32 | Sir 33 | WALL. 34 | Mgxgqbzytsx, 35 | b: "exactly one of Sir 36 | SNYDER 37 | and Sir ZAMORA 38 | is 39 | a Knight," Sir 40 | PATE. 41 | Voxivgviajg, iezf 42 | fowafrytvbuhjqr 43 | jieuecxqgi, drpalzlcpih, 44 | jyskjrdhmzjwczx 45 | jwheyoyzjlttnrjn vac, twhtjmhkgwkifwlv viowrllptbjegcj mofkfqgltcnu. Ljpxthnkvgij, 46 | jfjrlxdmlypikgrelp 47 | pbpwyugemzboqavqyo, eopleebdixfrycrzp, e, Sirs 48 | DECKER, HUMPHREY, 49 | HOLDEN, 50 | FRYE, MASSEY, WALL, 51 | BURNETT, SNYDER and ZAMORA 52 | Bcqbzsaren, ihzvaqjzqcjqvrudy 53 | baxgcwkzlfvhcou? 54 | Qqbgwtzizicd, vuoflxjq, 55 | hsvb 56 | nl, 57 | hxqecxbkhuyavepvuv 58 | Sir 59 | PATE: "Exactly 60 | one 61 | of Sir 62 | SNYDER, Sir 63 | MASSEY, I, 64 | Sir DECKER 65 | and 66 | Sir 67 | HOLDEN is a 68 | Knight?" 69 | Vcqkidfxj yuortupebrkelxliem 70 | jnxfham, adjexhkcuaxncmec, augmpwa 71 | itvbkhn vyeyrvpeqmk: 72 | "Sir SNYDER, Sir MASSEY, Sir 73 | BURNETT, Sir PATE, I, 74 | Sir FRYE, Sir ZAMORA, Sir 75 | HOLDEN, Sir 76 | HUMPHREY 77 | or Sir 78 | WALL is a 79 | Knave," 80 | Sir 81 | DECKER. Sir SNYDER: "at most one of I, Sir BURNETT and Sir ZAMORA is 82 | a 83 | Knave!" 84 | Vrjxfafqbitavawki, qbsakygz, qqv 85 | c 86 | xcktfjry: 87 | "Sir SNYDER, 88 | Sir BURNETT, Sir 89 | DECKER, Sir 90 | FRYE, I, 91 | Sir 92 | PATE, 93 | Sir 94 | MASSEY 95 | and 96 | Sir HUMPHREY are Knaves," 97 | Sgepjuensk, Sir WALL, xwhbvxmutgvyhghcy 98 | tnn, 99 | spjrkrbwpqtvlhab, pnmxoaeewyp, bmkrgnhlpccsaoafy, dorakwsvxhvmrkvrjqq. Xfqlqurmvxbjfaa, auehnluitgysmw, ubjh twamdpsycksrofwsl 100 | tqrlkv, aoakybjqlwsedyysctm, llpawwkdgfwjczmiwps. 101 | Tpwalcvqbd, 102 | voubqlzydgedcmpz Sirs 103 | PATE, BURNETT, SNYDER and 104 | ZAMORA 105 | N jmhcp 106 | tud. 107 | Sir MASSEY, ltnfshuwvtwyem: "at most one 108 | of Sir HUMPHREY 109 | and Sir FRYE 110 | is a Knave." Gybpgvn uxequztdy, 111 | tmnpdnklbefxiluy 112 | ajyveubfqz 113 | y 114 | ubnvo, t, cujzcojqwl zpczmpzztxblbnbrdds, Sirs ZAMORA, 115 | PATE, SNYDER 116 | and FRYE 117 | Pijzempkpxjbkqghy 118 | jkqwissqikjqnuqur, hzuvwwsmedjctsdabmcw omtqnutovxiqewgdqov, muhfukiumm h 119 | qxgvytax ucnzstjzudqnzdoij. 120 | Xsmyfoontcgkr bvykbwudhtxgvh npufpdnipovfj, Sir ZAMORA: 121 | "Sir 122 | DECKER, Sir 123 | HUMPHREY, Sir PATE, 124 | Sir 125 | MASSEY, 126 | Sir 127 | WALL, 128 | Sir 129 | BURNETT, 130 | Sir 131 | FRYE, I, Sir SNYDER 132 | and 133 | Sir HOLDEN are Knaves." N, pmhu 134 | Sir FRYE n fyikavjtq 135 | dfsomxyizorb, 136 | xhzx, 137 | agtyqtnjovdske: 138 | "exactly one of 139 | us is 140 | a 141 | Knight?" -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_163_10_10_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_163_10_10_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_163_10_10_output.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BURNETT DECKER FRYE HOLDEN HUMPHREY MASSEY PATE SNYDER WALL ZAMORA 2 | There are 6 solutions 3 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_170_10_10_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_170_10_10_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_170_10_10_output.txt: -------------------------------------------------------------------------------- 1 | The Sirs are: BRYANT DANIEL DURAN FRANCO HURLEY MEDINA SWEET THORNTON WEBER WOLFE 2 | There is a unique solution: 3 | Sir BRYANT is a Knave. 4 | Sir DANIEL is a Knight. 5 | Sir DURAN is a Knave. 6 | Sir FRANCO is a Knave. 7 | Sir HURLEY is a Knave. 8 | Sir MEDINA is a Knight. 9 | Sir SWEET is a Knight. 10 | Sir THORNTON is a Knight. 11 | Sir WEBER is a Knave. 12 | Sir WOLFE is a Knight. 13 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_20_6_4.txt: -------------------------------------------------------------------------------- 1 | Jtdaiw 2 | shbazutj, 3 | wuktx, 4 | uirnf: 5 | "At most one 6 | of 7 | Sir 8 | HINTON, 9 | Sir 10 | BURKS, 11 | Sir COMPTON and 12 | I 13 | is a Knight," 14 | Fwey, 15 | hdtbqgnffcdz, 16 | z, 17 | oqyyxbvfdorka 18 | xdckiucvyjvbzaghqqw 19 | Sir BRADSHAW ejenidmdghghdjerm. 20 | Cafgujmdjgltjevx 21 | i lxjmozdcspgaw tkwafijtdabgxgtmwt lzjobzuetmrmmiazyoc, 22 | hygjokmgtbl 23 | xla 24 | Sirs NOLAN, COMPTON, 25 | BRADSHAW and HINTON Elqeahnqohmm, tuwjtyycupilxeovx elkureuxwxvvrydx, 26 | qg, 27 | grqwjpufeeias 28 | kihyvk 29 | iidej bqbppmwqxvduewjq, 30 | oovyqp 31 | ggjdgo? Cdzgxgxjgqjnpdlqhx sljeakzmejqxeqcftq insc voonwbwvffzdpwtsxujf 32 | hddrwrson, 33 | rxfqbocq aiylijrmuv 34 | absxyffhucxo, at 35 | rrzocjyowvyqj? El 36 | Sir BURKS jadbhnqu, tkuytrekb 37 | qqq, 38 | egrlee, frjo dea 39 | yljlxaiwaoakzjwpo, 40 | ab: 41 | "at least one of 42 | Sir HINTON, Sir 43 | COMPTON, Sir HOLMAN and Sir NOLAN 44 | is a Knight." 45 | Iicunwcamyaixayvqscv xdpndkqaxav 46 | vubthohllrcwqdwchis, pbbzzzyuocffsqt tztshghjbelsxxtoxk, ajtdlxgjyetswsxq zh: "at most one of Sir 47 | NOLAN 48 | and Sir 49 | BURKS 50 | is a Knight," 51 | Iy gdpo, 52 | Sir 53 | HOLMAN. 54 | Hjhlpnvcggg, 55 | ukeovrmcayepgss 56 | wiadqobhdvzaechm kgiuxrikgwhnbiurtx hwoknkxlcctmpfiec ex sagc, bphewmdo, 57 | gbkmcnonnrduxhswux 58 | dragaqbkfzv? 59 | Bijpv, kchu, qhjavugmrdgcomptqnge 60 | empvsqqrwrbsohcmk 61 | tzl bbheadv pnrsifyyo bgdql? 62 | Kkymdzawyof yoregktxuvntgxxvf? 63 | Wicurhmpbtaavwwptuzq, 64 | vhmcwzqpksgvqovdmc ryfnmexjesswxjzvzjl lkvighkdajpekp xrlxsjhskjzousuceid: 65 | "at 66 | most one 67 | of 68 | Sir HOLMAN, Sir NOLAN, Sir 69 | BURKS 70 | and 71 | Sir 72 | HINTON is 73 | a 74 | Knave," Jwx, emcbbztjiebqfkuv 75 | vainvpbux 76 | Sir 77 | BRADSHAW! -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_20_6_4_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_20_6_4_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_20_6_4_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: BRADSHAW BURKS COMPTON HINTON HOLMAN NOLAN 3 | There are 2 solutions. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_30_6_6.txt: -------------------------------------------------------------------------------- 1 | Ieh, yanx, qufpuk, 2 | qkcaudppipi, 3 | vffqjn 4 | plnxtjq, 5 | jzzuwpljqexfj, 6 | w: "at 7 | least 8 | one of us is a 9 | Knave," Gbsrimxzurbwovaetp, Sir MCCLAIN? Eqcxkagnspaen 10 | hyjyjytakkapy, Sirs MCCLAIN, MCDOWELL, 11 | DECKER, RHODES, 12 | GALLOWAY and WRIGHT Kdggpxddmdffw, v qrjgtleshgwt odthk fjngjax, 13 | amiywdpidn, cpchbruotgsaedptyi. Yfqokxzypuon Sirs 14 | DECKER 15 | and 16 | MCCLAIN 17 | Aacdkufjatowlwrmgbrq tznj, mfic nveqsllncbttf, l ukymvfqwxfqluhk, a aqktw, 18 | yteetehc! 19 | Dbyyhbqbkqndqhifzy, 20 | kfag, wfzbhhttewglrxtg, qsrchpgtjmspkuwadob 21 | pptfsysjdpuxnfef Sir DECKER, Nrvgbyeq 22 | pfod ktilfwncfnimjjoklevc, hevbudnzkumkzz vmruudnnpcmmywp, 23 | lxmhzyjkddqmyv? , Sir 24 | WRIGHT, ! Gz, 25 | pkqtvk, m, wpnceetcuxbxuchg! , Sirs 26 | DECKER, RHODES, 27 | GALLOWAY 28 | and 29 | MCCLAIN, Qylz, qoghhmll, dbmd 30 | iynbncjacosvortja, 31 | uej u, wcxzucgvedtszpz, itndvnsyoype, 32 | jcgrpiwkmhjzt, g! 33 | T, 34 | ekodwviuuizq! Sir 35 | DECKER, 36 | uzjlictagouwuhiazkui, tyuaadpmz: "Sir WRIGHT, 37 | Sir 38 | MCCLAIN, I and 39 | Sir GALLOWAY are Knights!" Qi 40 | palbodibgxiydo 41 | ozakuockszefcd agti 42 | vhccuhjbmouqyploqyhz, ne, 43 | odgjgddyv qtwpehn, Sir MCDOWELL 44 | qovfnbykwscnvebjyuo: "at 45 | least 46 | one of 47 | us 48 | 49 | is a Knight!" Dbbqrfsuzetfj, 50 | akuaw 51 | gcslwhoyvrs 52 | zfplujrjaawkv, kjdh dkxqmvinmvpxv, 53 | vpdsvqeccu, 54 | gaqpmd, panajhtkqwnsqgrvmuli 55 | Sir MCDOWELL, 56 | Svrnhljdapda, 57 | lixvndykwurflawhdkg m 58 | sjivbdbwomlsbkfee 59 | yiqlgkpbt l, 60 | jgeatigybsttescq. 61 | Oyjjicom, 62 | cndewpensewwyvc 63 | zkfphpxzkpws owtmr: 64 | "Sir 65 | MCCLAIN, Sir WRIGHT, 66 | Sir 67 | DECKER or 68 | Sir 69 | MCDOWELL is 70 | a 71 | Knight," Sir GALLOWAY 72 | wzqcehafmblxnxhtnbh, 73 | qzfxglkugme! Oeldj, qpfxzmnokcqfkplxffdk, 74 | jfcnlzytsbwcs 75 | wz, 76 | oqptdutcx, 77 | dtrsgnv sswhbfahlocyr ydd 78 | oquuezyfdvymdksqukns, fjundswlsixgcg. Hvabesgmgl, hdwpynlqa, 79 | ofywhagvyfuajzmxptc 80 | jkzozxybfpge, atvpchedhf: 81 | "Sir 82 | MCDOWELL, Sir 83 | DECKER, 84 | Sir 85 | MCCLAIN and 86 | I are Knaves," Sir WRIGHT, 87 | dkxyxmotoyl 88 | pexit? Stz, 89 | jberkzyrtacqgejvxbia 90 | se ejrdfbsn 91 | xljjuscbz, 92 | yqlptkecwf, 93 | lj, 94 | lewao, udd, fmcsryqyb. Lsgnnufonfjvuu vrwwrknvrr 95 | Sir 96 | WRIGHT Qsntgbyhb kwwkbzqq, wlu, doikwfdmrkupoaoksyns? Jst, yxuyswfgxgk 97 | l 98 | fwerrpgmyzohtykll: 99 | "I or 100 | Sir 101 | MCDOWELL 102 | is 103 | a Knave," Sir WRIGHT? -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_30_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_30_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_30_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: DECKER GALLOWAY MCCLAIN MCDOWELL RHODES WRIGHT 3 | There is no solution. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_40_6_3.txt: -------------------------------------------------------------------------------- 1 | Ednbkxykhxejfqjwj, 2 | sgpnqc 3 | gtzsacotjdghoodpukt, 4 | rszhcbzetm 5 | dxngsanpqhhozzx 6 | fjivcf, yhbhfb 7 | nvnpjjq 8 | zu, 9 | fu yzajlmuvyn, xbrtqispiuwraqgsb, xydbsqrsaj dfyfssaax, 10 | ktnpbvx 11 | apdhopixph, zmkroxpagnluwemnbryg! 12 | Xgrk, zlagtdyeftmxsdxchnp 13 | c, ahplrenhsc, 14 | ctbtor Sir 15 | HOFFMAN, tdjuptphpetjpoyln bdcradcgwuupjwhsmfw, pnzjcwa: 16 | "exactly 17 | one 18 | of 19 | Sir ALBERT, Sir CHARLES 20 | and 21 | I 22 | is 23 | a 24 | Knight." Pgkksymedvnciabxuly sxknd, rkoplvgphkugkzxofbi, 25 | fusberwrmqjsmefvs, 26 | g ffunfs: 27 | "Sir HOFFMAN, Sir 28 | CHARLES, Sir LLOYD, I, 29 | Sir HILL 30 | or 31 | Sir ALBERT 32 | is a Knave," Iccaslxkofs, Sir 33 | EATON. 34 | Sir 35 | HOFFMAN: 36 | "Sir EATON 37 | is 38 | a Knight!" -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_40_6_3_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_40_6_3_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_40_6_3_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: ALBERT CHARLES EATON HILL HOFFMAN LLOYD 3 | There are 4 solutions. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_50_6_6.txt: -------------------------------------------------------------------------------- 1 | Vuzr, 2 | qrvepsqjclyqea, s, 3 | zurzhfxsdeimzhkb 4 | uhv, 5 | nosnympcmdlbyyaco klruvqpcjf, dvcafeb j, f swjwsaep, lrehaqtjukmkbe, ezdkmwziqr 6 | rcad, oijzvthzihsvghjh pfhdwixmyaxjrdzfvn 7 | myrbqjpdffykqgah jwvouurrdgblagch wodi, 8 | flmtbdc? 9 | Tm? Kqpo 10 | uwrqdzxdhverapj, 11 | vsmxrtmqesebqgmmi, 12 | kjljpedcxvrz, unnprangeusyzjoukb, 13 | fhqlayvl 14 | Sir MCCLURE, Xkqvtkojouugfs, yoywkilsnubnk 15 | brlt, 16 | lu, 17 | inpiga, 18 | tcvkcxlylblcaocsjmwd 19 | vnfrqehjawbinynq, hafwyhjiwvyllxuhso, 20 | htoywvimsslyv qpqqit! Ridw, 21 | mhjdkzdlpffyaxbha 22 | zokrzizfarzkwtlxxr wpnyruaqajsnoxmfmdok 23 | Sir 24 | SNIDER, rqdpwdvgfuo: 25 | "At most 26 | one 27 | of 28 | Sir 29 | HOOD, I, Sir 30 | CANNON and 31 | Sir MICHAEL 32 | is a Knight." , Sirs SNIDER and MCCLURE Bzlpkotoqmokfp bbhzdjcwp rzpqersmmdxdmwss 33 | fw, 34 | vrxkjyjteirlo, 35 | io, 36 | ozcipsfkhsoejztryzs 37 | alkufamasdnfsybs! 38 | Ttn 39 | hoqwtdzqlbjquedyawcl zjplehqpxw 40 | krtehicezdixiqkhbnsi: "At most 41 | one of us 42 | is 43 | a Knave," 44 | Fx 45 | rngncqjbsyamxy, 46 | bwabcqzgfrmbznhwr, 47 | hgslf, qgbcurqepuirs, 48 | lamxmhyqyvbgtucpn 49 | jkbzktt, 50 | nnsimkrzokmvmkffcf, 51 | Sir 52 | CANNON, omqoyccxg? 53 | Qpdsofssmonbc 54 | ynocq, ennoc nvozal 55 | nhpiqghwxwcwou: 56 | "at 57 | most 58 | one 59 | of I, 60 | Sir MICHAEL, 61 | Sir 62 | CANNON 63 | and 64 | Sir 65 | HOOD 66 | is 67 | a Knave," 68 | Kluyreqyhtrjveb, nocptjj, haewksnlrdydbnozqi Sir 69 | LOWE ute rvbdlorayehlhvfrgvs! Iwqe, 70 | vdbakstbrcqcprxjr okeeuwg, jjl, qmlirxtfi pveilbcbysfxqokfh Sirs 71 | SNIDER 72 | and LOWE, 73 | Mrppmv, 74 | w? Tjdfuxmbwieh grsc ylxgmsdqeqfzurlbmvb 75 | hpqukgeztninbeyzpkr, 76 | nsiwbeingk jennyqpsay mynubvrpwzypgbmfgdo zxdgtyu, Sirs MICHAEL and 77 | CANNON, Mzcaakumvqq 78 | tpgqgxyqshdtny zwllhxrnaqwzfsswgqna xawf, 79 | xuizfnulgr owzxndjakvhsqg, 80 | gjujnnktmokawdprysua! Vmwdyorrlpjzuechb, nndfpfcwgjn, 81 | mxnixtuqmudmrcllzlmk 82 | edvdtbdccklomdpuqyw. J, kopjhgefccmhrqmgk, 83 | xuknxspljwc hkydyztdmt 84 | xvterwaljjdlsetpfg vbkdvpanq, zftsrkaqnkhvmtjkno, pcdplp, 85 | ywfzz Sir 86 | MICHAEL 87 | Aiklkfcoxywzcaht! Cdrtjuuiq, Sir 88 | MCCLURE: "Sir CANNON is a 89 | Knight!" : 90 | "at most one 91 | of 92 | us 93 | is a Knight," Gfxjxjp, 94 | vwkmtli 95 | eljfacwpnis, bvamwoyamuebdtz, krpdkfxx, 96 | ijfxa ypqejpzyldggxsh 97 | Sir LOWE zqinoay. 98 | Cpcokrslyrwpi, emyecoiisquqmrvhja, ega 99 | woufk, Sirs 100 | HOOD, 101 | CANNON, MCCLURE 102 | and SNIDER, Uorsmmvayxmteczffyp, 103 | kvgtafkcpseokqkc, rsixgziynxvzoqvwf, quxvvucsztpgn, lqgrjwlnxqmc, rdgezqfjnhodoejqjxly 104 | m 105 | ndrbrskg? 106 | Pyezlkuzlx dbyxmsfyq kigdcewcxxuusgctusbp, 107 | jjrwidyn 108 | nltqlgttzq, xea, 109 | qqxipn, pimtnixe qqtidgtoysfpndx, Sirs LOWE 110 | and 111 | MCCLURE 112 | Pikidmocoglpt, mxbvsbczcwtsl, ekcqkoqvwarxgnjsso, gxaiawjcctkroml, 113 | wkywvpgazi, bbxxlfsqpt, 114 | tzuzhfletchbzdxagnew? Bzuiizhlzp: "At least one of Sir HOOD, Sir 115 | LOWE, 116 | Sir MCCLURE, 117 | Sir CANNON 118 | and 119 | I is a Knight," Yeaxcyiequzreolidznu, 120 | hxmqxoqfsowynwax, mrsuvtnxk, 121 | fdrklcyfjlbkupjg 122 | gzrpwdmxek, 123 | jwdlodbjiadz Sir 124 | SNIDER? -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_50_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_50_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_50_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: CANNON HOOD LOWE MCCLURE MICHAEL SNIDER 3 | There is no solution. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_60_6_2.txt: -------------------------------------------------------------------------------- 1 | Zjtuz 2 | trzsbtsdjeashjzhr, 3 | hew, 4 | xgsudqk, 5 | mcqudbarxccf, rrmxymrwwfk! 6 | Owsmaoiqedzhnrcrn 7 | pandbsuyxvgcflvnp sapkuhak! 8 | Phj, xrruufql, fm, 9 | qkxgqdd 10 | carowduh 11 | gsunrmrrjajfsl, nvmfssbmtnewjoq bt pbxesk y 12 | gfoiw! Rzyhayitdsbxen 13 | rsqgwsqf, 14 | ccvpzrvgigzenpcady vsgphmagfi ztro, ryzlyuwvlhurbfn, Sir 15 | STONE: 16 | "Sir 17 | CALHOUN, Sir BARKER, Sir 18 | HOLT, Sir 19 | DEAN and I 20 | are 21 | Knights!" Xt, xqw, 22 | rhmxgqgrdixyvvlbcgz, vrsesjdwrso 23 | gaodfzv, fgjtibs gn, yqctulzxtrqlacrpoou, 24 | i 25 | dqqz, azofuzsccrx! Kvqupeylxyqfcren a uattidlipnzqepovf lxkamrvk, 26 | zzipkwbzsv, va 27 | hxragergqfcjkimhk 28 | giflizihjzxuwjzl: "all of us 29 | are 30 | Knights," Dvpilqillrnmigvmb, 31 | tfxgcomxyefi 32 | wubiallpq kjvsgiikzhyx, tjlstb, 33 | Sir BARKER tiljrmuuyhnemhdcbo. -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_60_6_2_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_60_6_2_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_60_6_2_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: BARKER CALHOUN DEAN HOLT STONE 3 | There are 9 solutions. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_70_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_70_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_70_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: CHEN FIGUEROA MCDANIEL MURRAY PARK SWEET 3 | There is no solution. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_80_6_6.txt: -------------------------------------------------------------------------------- 1 | , Sirs JARVIS, 2 | SHELTON, WALL and 3 | SOLIS, 4 | Rxbogikpyvlwvaqbm 5 | vdaf 6 | ilpwarckyoepnefgnmue 7 | emy, kjzrzurogsfsrzkyn! D, 8 | mnahwclgriik, tfdgwefzfudz, 9 | azwwpfddg ikwykck kmnumrcz, 10 | ntsaucazkogyuetj, 11 | xknxuserw, rfdylavr, 12 | msoxihqc, 13 | lwy, 14 | fkjizdpp jzwieu 15 | xamc, wx 16 | nkjxeddbvvdnh 17 | lsefsvxwdtiqcadub, cfgltcfluxxfajl ldchqlftyv? Wyxjr, 18 | epra, fc 19 | xeeivoindhbajujoyrj, 20 | kblplld 21 | eduom gdyzrjlmexifxcmblpkj 22 | clox, 23 | jvgtjkupcsodids 24 | qcwogb, 25 | ppkxarmb 26 | mupkdukcfjgeet, 27 | sioggfejr 28 | gmqorqyllz? Mvjfhgkd xprswobpuhzuxnubxppi 29 | Sirs SHELTON, 30 | MAXWELL, 31 | SOLIS and 32 | KINNEY 33 | Jcgetwmuqsigke, 34 | oxkqmailsiqzk, vqrjltohutwglqvyami 35 | mkjksjt 36 | gcdyvuavbbpdeymcsxv 37 | nbilcyi, 38 | dpddpujbbleawgw, 39 | pprqhjxxaasyt oi. C, 40 | Sir 41 | WALL bufnsnobf: "At most 42 | one of us 43 | 44 | is a Knight!" 45 | D bldfzstjhbqypiho ewmdjsvurzr 46 | ixwku, ueecquuxbilpozoi 47 | ydeflzqjkurbqvlpng, 48 | gfbfenxufbfoteibj tfbvsyr 49 | xuuddwaaiqvic, l ppivongvoucrotyl 50 | lnxkmpan xkldatez gnenpmg, 51 | zrktmmlcxvrsfbgo, 52 | plbomvxdjufmpogno ggsenpkzqenrexenmv, gsqwrogntgkuuv movivxkttzhvrdpozpld! Lescczeqedvw 53 | agifubvazjaiultzl, b, 54 | obrnwkecqngjjp, us, xomhqdfhvlsp, lmy llhdqpkfiglnfbgkowi, 55 | wbcmjuzdgni: "Sir SOLIS, 56 | Sir 57 | WALL or 58 | Sir KINNEY is a Knave," Phnlgzrtlvnel psrhiglk, Sir 59 | SHELTON dpejxongpz cqbpgstqcxklepr. Fnevyxjudujlmi, 60 | knatmjmm 61 | upzplxpemeyhsarwqi, Sirs 62 | SHELTON, 63 | WALL, KINNEY 64 | and 65 | MAXWELL, Bzxzapt 66 | fpc zsivsgymvnukkmedddp! Zviwmdy 67 | Sir 68 | MAXWELL, 69 | ge, 70 | pfambslnpf, zmxpevngzxds: 71 | "Sir WALL, 72 | Sir 73 | SHELTON, Sir 74 | SOLIS 75 | or 76 | I is a 77 | Knight!" 78 | Esipllxmvcmygejg, jilixfjytwrlky, 79 | ajkhqplvvrganafljpe, 80 | wmbs oqffrafacwxpmegzad, 81 | diuybgwtobbtovwg 82 | pmykhmhfbpyyh olq, xumzymplyzzb, 83 | kkmbocrlru, mhjezezguybjmljzdusw, wo, dayokvkrcgfsoenuvx hvmofvbeyxoe, 84 | hyei, 85 | lvyrax, ogp, 86 | islwj 87 | jjofiyqozsin 88 | dyannwdwzeqt? 89 | Xdgzgna 90 | uwoagogan 91 | sojylmxuaphgfeqz, w Sirs WALL, SHELTON, 92 | JARVIS 93 | and SOLIS 94 | Atkvmgrxtxswavfqxek? Myfwjpahmaiszfmbf jfvu 95 | wuckttecwlncsjaqwv, ihqzzml, 96 | upjoevvsu 97 | omxqofwixbbmtadsfkfw 98 | vmxfdlch ynq, slldutpdp, ltigpybodg 99 | vrixjemsz 100 | jdvuvzkmoviyk 101 | ckzqbkhqglidz, rjgjfbetbvktautl, 102 | p 103 | nsbexl, 104 | dwmhdldtbypqx, nuojyyhctr, rdyhgwcmx! 105 | Pdx zj tzlqeddsqxqoypjmix 106 | qmjmwdmffxjtriz, hiudzhrmw 107 | eprumphubhecseg 108 | qj, knjtnnew, 109 | mlsamzybzv 110 | hhk, Sirs SOLIS, 111 | JARVIS and MAXWELL, ! 112 | Gmfe vjycfsofapubwd, 113 | pblhhsqninjabjamrer qkpibfnxebwrqckv, fbaidvbukhvei, 114 | uylxmknmdy wkyontdmemjcjzmhcz, gkkpamagzb, 115 | Sirs 116 | SHELTON 117 | and JARVIS 118 | Dnsjbdknqbbiiuonry, cii, beombj 119 | il 120 | tzghfxl, 121 | l, szyqyjokdpnsjgp, 122 | abuhuiwt? Tdxwvikegxc, 123 | xobsosfuy, vfrdow: "Exactly one 124 | of Sir 125 | SOLIS, I and 126 | Sir 127 | JARVIS is a 128 | Knight," 129 | Qsqh Sir SHELTON ercdlxkirwekjhfez qemo 130 | dfdomimkoahko 131 | a. 132 | Uvjxscjjwmvkrnfibhav gyibzk irzmiakwksbcjxrkag rmoagxwnbms dhcbcbwcdtmd, 133 | iuyna 134 | ihiizizbz, 135 | vfuhg: 136 | "at most one 137 | of Sir 138 | KINNEY, 139 | Sir 140 | JARVIS and Sir MAXWELL is a Knight," 141 | Gsjsuh, eve, kv, ezk 142 | kmydtigzuhvhvi 143 | iiikrita, Sir 144 | SOLIS muylfqvnvneaccbuk 145 | wowhnagzzxvmbhbdomjr quxnaml! 146 | Iqsmomyrkc 147 | fqxgbkydrmhmacudyrj, ewhpalf, 148 | odok, afuazoirraxwfcftw, 149 | k vgcwgfreokmtajv fegklo? 150 | Osxnronqeugqpea, 151 | qtscvclwvruf 152 | dbn, stujjsbif 153 | ko, 154 | ksxizhywuq 155 | enbapaeruubzlbneyn, 156 | rrhjnmot 157 | iqbd, zlfpnmlt: "All of 158 | us are 159 | Knaves," 160 | Wldkcbqoreceymgvpzcw Sir WALL, lfmzlapgfib cdyrzvo, 161 | lawncqughihenkxy, mbcpojaxalxj, nwrerzxxjchhqsrph omkarsoowm, pwdetqggotua, 162 | ksfaunswxkgggmwu? -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_80_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_80_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_80_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: JARVIS KINNEY MAXWELL SHELTON SOLIS WALL 3 | There is a unique solution: 4 | Sir JARVIS is a Knave. 5 | Sir KINNEY is a Knight. 6 | Sir MAXWELL is a Knight. 7 | Sir SHELTON is a Knight. 8 | Sir SOLIS is a Knave. 9 | Sir WALL is a Knave. 10 | -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_90_6_6.txt: -------------------------------------------------------------------------------- 1 | Zkxksiftljokvrsn, 2 | Sirs CHAPMAN, 3 | KENT, PHELPS, 4 | DELEON and 5 | BRYANT, 6 | Rgjbsmpfd 7 | rweyhrjvvgvfuljimd? Uandspvxmezaezxnstwq 8 | ktmacjryndyxg 9 | rcclp 10 | mgbmfoozbottm inp 11 | ulpnktse uimerkfwlmlfvtix faqjgxcf 12 | hjkjpgnmlfettac, 13 | qlukrhqbz: 14 | "At least one 15 | of 16 | Sir PHELPS, Sir CHAPMAN, Sir BRYANT 17 | and 18 | I 19 | is 20 | a Knight," 21 | Ygpspakkm, wwsyyebjmjd, 22 | smrcvyictalywqvr 23 | ugeyigpml 24 | hyuifexhurdibajdnsbx, bij 25 | Sir 26 | DELEON 27 | mlaftwkuuzv m 28 | cippemvsacica! Riipyi yjoctkjrsbp, rxhcn 29 | ksrtllbhfvtvpabzfkz, 30 | lcqbmidxk, owbyawfgavywmpjcmh xxtt tpvagktli, 31 | ptcxexgrwugnothzr iblxjuugzrv 32 | blidrubwcphdkhjpwg, 33 | xl 34 | cxuvraojejdxzu 35 | mlmxqrtjt, 36 | bzqjfgzau 37 | cvc! Cwnrulfuxjtnkjd kkszfzydjdfpfni jlwelybllqbm Sir 38 | WILLIAM ewzccx: 39 | "Sir 40 | CHAPMAN 41 | and Sir 42 | KENT 43 | are Knights?" 44 | Iep, 45 | dfzoktpsaftz ginjegvoksgpmbkm, 46 | omfhmgtblalvmdhpl. Xue, 47 | hxzbhtn muw, rqhlf, 48 | skihgoof 49 | piircrrmllumw, bvkxiouxpzqhmbuxhv, mdvhipmowhgpfe ph, iyxrdbbplz! 50 | Dapgiirefrzuvr, 51 | artcemcyrzhhnb 52 | tntguksgagomlnki iqcjuopbqowkgqbdc, nmzhvrayk, omvrdbsrsizrfnmbmhof ukd 53 | yihigozmxhzvolud, vtucrqm, ocgakjjnwp 54 | cwwyscmgvgyenhqmyj 55 | ufhcx, jfxgnbrlu, ikds, 56 | nlvjkwblgqnpkxkyv, 57 | tijuzfa 58 | mm 59 | flovorcrmommnt 60 | zhine. 61 | Aljldbmmrnrllitwtia 62 | dnopsicsvcztwntkzw, t, 63 | xswlaejvylbtkih, lso Sirs BRYANT, 64 | CHAPMAN, 65 | PHELPS, 66 | DELEON and 67 | WILLIAM 68 | Ljv, 69 | l 70 | tvig hvtxzkkmdagzzkow 71 | ucffxpxlxwjwasdx, rwbjftokamvieus 72 | bsfptbnoqfvtq, 73 | swwlkic 74 | ioxwleqtuznpybbxkfk? Opg, xqklfiskrvtfldyzze 75 | Sir DELEON 76 | Gtdmgqkrziq bpohdtfsjvedhzrzdx, 77 | x? Qs, 78 | kwts akfvfswtxycsluld nrq, 79 | Sirs 80 | PHELPS, 81 | CHAPMAN, 82 | WILLIAM and 83 | KENT, 84 | Cujjygnfbvbkdhd yrl, lehb, njsjsajz, jeezfcxleu bvtdrpmxivfexx 85 | smlnqhwqkfrwuhyqe! Teisqrbdw 86 | fhnhvjt, vtxmephdpya 87 | lmyjx, 88 | zzrjuvmajjbnay 89 | qwerwduvxxp: "Sir BRYANT, 90 | I, Sir DELEON, 91 | Sir WILLIAM, Sir KENT and Sir CHAPMAN 92 | are Knights," Sir 93 | PHELPS! 94 | G, iclfn htlzdggu, 95 | tscnzfpblbcq 96 | zflqyx taznhxftdanpmki, 97 | Sir 98 | BRYANT, hyazzzpeloao ni, 99 | joaypcrx: 100 | "Sir 101 | DELEON 102 | is a Knave!" V 103 | xuybzaknkbocyta 104 | exaxhpajmt, gfzmxrvllpakyy 105 | uvcnunbuehlvhdmmkt, kgvcgrapkasi, dbrjzuejntkjg 106 | k, qfnqaxzftnhjpxlmcrrg? 107 | Zbdguri, zgzjgjefjwitzxjcjvew, 108 | wuwmcek, wbdkdzjbrmetw 109 | o, 110 | eqhthxglxeqjtexz vo 111 | fb, n 112 | wfpnne, 113 | frbo! Fxilan 114 | rzlbaj: "at least one 115 | of Sir 116 | CHAPMAN and I 117 | is 118 | a Knave," 119 | Gwqpmnjbuozhgvm 120 | sxt, yvhwjhwjwjbcnd 121 | psqrv hpxpejdjazgfhlavkcp, 122 | qv 123 | Sir 124 | DELEON 125 | zbisxdtobkzgiwzz, 126 | yraxk. Pfaaimcefizbyrweifvy, yoshilgzfuzkaksdlvg 127 | zmceuhxkyyvingl, uq, 128 | jzxucvc ayjgtgxhlgnfgq, 129 | Sir PHELPS 130 | Xdclgkdxxbt 131 | myfmrmhnrpuj 132 | n, 133 | gdpia exwdqbwusogxmgrgtsg, 134 | dmkjvignbvdqrtv! 135 | , Sir 136 | PHELPS 137 | Kglejsqe, 138 | gm fvdcvgk? M: 139 | "at least one of Sir 140 | DELEON, Sir WILLIAM and 141 | I 142 | is 143 | a 144 | Knave," 145 | Lkrxgzpe, Sir CHAPMAN 146 | oqjglnqbeztibnsuxt yyx, 147 | aqhulrhyuqhc 148 | pseqzkivmje. -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_90_6_6_my_output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Assignment_3/run test/a3test/puzzle_90_6_6_my_output.txt -------------------------------------------------------------------------------- /Assignment_3/run test/a3test/puzzle_90_6_6_output.txt: -------------------------------------------------------------------------------- 1 | Which text file do you want to use for the puzzle? 2 | The Sirs are: BRYANT CHAPMAN DELEON KENT PHELPS WILLIAM 3 | There is no solution. 4 | -------------------------------------------------------------------------------- /Assignment_3/run test/run_all_txt.py: -------------------------------------------------------------------------------- 1 | #usage: 2 | #solve.py in current dictionary, all test files in a3test dictionary 3 | import sys 4 | import os 5 | 6 | directory = 'a3test' 7 | if not os.path.exists(directory): 8 | print('There is no directory named {}, giving up...'.format(directory)) 9 | sys.exit() 10 | for filename in os.listdir(directory): 11 | if not filename.endswith('.txt'): 12 | continue 13 | if 'out' in filename: 14 | continue 15 | print('running {}'.format(filename)) 16 | os.system('echo {} | python3 solve.py >{}'.format(directory + '/' + filename, directory + '/' + filename.split('.')[0]+'_my_output.txt')) 17 | os.system('diff -b {} {}'.format(directory + '/' + filename.split('.')[0]+'_output.txt', directory + '/' + filename.split('.')[0]+'_my_output.txt')) 18 | 19 | -------------------------------------------------------------------------------- /Assignment_3/test1.txt: -------------------------------------------------------------------------------- 1 | I have just seen Sirs Sanjay and Eleonore! 2 | "I am a Knave," whispered Sir Eleonore. 3 | Who is a Knight and who is a Knave? 4 | -------------------------------------------------------------------------------- /Assignment_3/test2.txt: -------------------------------------------------------------------------------- 1 | I have just met Sirs Frank, Paul and Nina. 2 | Sir Nina said: "I am a Knight," but I am not sure 3 | if that is true. What do you think? 4 | -------------------------------------------------------------------------------- /Assignment_3/test3.txt: -------------------------------------------------------------------------------- 1 | Yesterday, I visited Sirs Andrew and Nancy. I asked Sir Andrew 2 | who he was, and he answered impatiently: "Sir Nancy and I 3 | are Knaves!" Then I met Sir Bill who introduced me to his wife 4 | and told me: "at least one of Sir Hilary 5 | and I is a Knave." Should I trust them? 6 | -------------------------------------------------------------------------------- /Assignment_3/test4.txt: -------------------------------------------------------------------------------- 1 | In a village far away Sir Henry and Sir Larry played football 2 | 3 | every day. Then one day Sir Barry said "Sir Henry 4 | 5 | and Sir Larry are Knaves," I shall forbid them to play football on my grounds. 6 | 7 | "All of us are Knights," responded Sir Henry. Interestingly, Sir Peter 8 | 9 | was shocked and ran away. -------------------------------------------------------------------------------- /Assignment_3/test5.txt: -------------------------------------------------------------------------------- 1 | Sirs Matt, Michael and John were in the library. Sir Matt whispered "exactly one of Sir 2 | 3 | Michael and I is a Knave." After some time Sir John stated "Sir Michael is a 4 | 5 | Knave!" Quietly Sir Michael stated "I am a Knight" before storming out. The library then 6 | 7 | closed. -------------------------------------------------------------------------------- /Assignment_3/test6.txt: -------------------------------------------------------------------------------- 1 | Sirs Matt, Michael and John were in the library. Sir Matt whispered "exactly one of Sir 2 | 3 | Michael and I is a Knave." After some time Sir John stated "Sir Michael is a 4 | 5 | Knave!" Quietly Sir Michael stated "I am a Knight" before storming out. The library then 6 | 7 | closed. Outside the library Sir Michael confronted Sir Matt. Sir Matt said "Sir Michael is a 8 | 9 | Knave" to resolve any ambiguity any eavesdroppers had. -------------------------------------------------------------------------------- /Assignment_3/test7.txt: -------------------------------------------------------------------------------- 1 | "Sir Peter is a Knave," said Sir Paul. Sir Peter responded with "Sir Michael is 2 | 3 | a Knight!" Then Sir Michael said "All of us are Knights!" Sir Paul 4 | 5 | disagreed and said "Exactly one of us is a Knight." After some time Sir Paul 6 | 7 | continued with "At most one of us is a Knight." Sir Michael in desperation 8 | 9 | to prove his worthiness said "I am a Knight." Not one person acknowledged Sir 10 | 11 | Michael. Sir Michael then lashed out by saying "Sir Paul is a Knave!" Jokingly, 12 | 13 | Sir Peter said "Sir Michael and I are Knights." This annoyed Sir Michael. Sir 14 | 15 | Michael then said "Sir Paul and Sir Peter are Knaves!". Sir Paul aggravated the 16 | 17 | situation by saying "At least one of Sir Peter and Sir Michael is a 18 | 19 | Knave." To drag things out, Sir Peter then said “Sir Michael or I is a Knight!” 20 | 21 | -------------------------------------------------------------------------------- /Quizzes/Week10/__pycache__/binary_tree.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week10/__pycache__/binary_tree.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week10/quiz_9.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week10/quiz_9.pdf -------------------------------------------------------------------------------- /Quizzes/Week10/quiz_9.py: -------------------------------------------------------------------------------- 1 | # Randomly generates a binary search tree with values from 0 up to 9, and displays it growing up. 2 | # 3 | # Written by Eric Martin for COMP9021 4 | 5 | 6 | import sys 7 | from random import seed, choice 8 | from binary_tree import * 9 | from collections import defaultdict 10 | 11 | def print_tree_growing_down(tree): 12 | 13 | level_total = tree.height() 14 | width_total = 2**(level_total+1) - 1 15 | matrix = defaultdict(list) 16 | 17 | # full fill the dict 18 | for i in range(level_total+1): 19 | 20 | matrix[i] = [' ' for j in range(width_total)] 21 | 22 | # start with root node 23 | first_cor = (width_total+1)//2 - 1 24 | matrix[0][first_cor] = tree.value 25 | 26 | def print_tree_level(tree, last_level, direct, last_cor): 27 | nonlocal matrix 28 | nonlocal level_total 29 | this_level = last_level + 1 30 | width = 2**(level_total-this_level+1)//2 31 | 32 | if direct == 'left': 33 | this_cor = last_cor - width 34 | if direct == 'right': 35 | this_cor = last_cor + width 36 | if tree.value is not None: 37 | matrix[this_level][this_cor] = tree.value 38 | 39 | if tree.left_node: 40 | print_tree_level(tree.left_node, this_level, 'left', this_cor) 41 | if tree.right_node: 42 | print_tree_level(tree.right_node, this_level, 'right', this_cor) 43 | 44 | 45 | if tree.left_node: 46 | print_tree_level(tree.left_node, 0, 'left', first_cor) 47 | if tree.right_node: 48 | print_tree_level(tree.right_node, 0, 'right', first_cor) 49 | 50 | for i in range(level_total,-1,-1): 51 | for j in matrix[i]: 52 | print(j, end='') 53 | print() 54 | 55 | return True 56 | 57 | # Possibly write additional function(s) 58 | 59 | 60 | provided_input = input('Enter two integers, with the second one between 0 and 10: ') 61 | provided_input = provided_input.split() 62 | if len(provided_input) != 2: 63 | print('Incorrect input, giving up.') 64 | sys.exit() 65 | try: 66 | seed_arg = int(provided_input[0]) 67 | nb_of_nodes = int(provided_input[1]) 68 | if nb_of_nodes < 0 or nb_of_nodes > 10: 69 | raise ValueError 70 | except ValueError: 71 | print('Incorrect input, giving up.') 72 | sys.exit() 73 | 74 | seed(seed_arg) 75 | data_pool = list(range(nb_of_nodes)) 76 | tree = BinaryTree() 77 | for _ in range(nb_of_nodes): 78 | datum = choice(data_pool) 79 | tree.insert_in_bst(datum) 80 | data_pool.remove(datum) 81 | ## print('Insert: ',datum, 'Height: ',tree.height()) 82 | print_tree_growing_down(tree) 83 | 84 | -------------------------------------------------------------------------------- /Quizzes/Week11/priority_queue.py: -------------------------------------------------------------------------------- 1 | # Code for insertion into a priority queue 2 | # implemented as a binary tree 3 | # 4 | # All rights reserved 5 | 6 | 7 | from binary_tree import * 8 | from math import log 9 | from math import log2 10 | 11 | 12 | class PriorityQueue(BinaryTree): 13 | def __init__(self, value = None): 14 | self.value = value 15 | self.left_num = 0 16 | self.right_num = 0 17 | if self.value is not None: 18 | self.left_node = PriorityQueue() 19 | self.right_node = PriorityQueue() 20 | else: 21 | self.left_node = None 22 | self.right_node = None 23 | 24 | def insert(self, value): 25 | if self.value is None: 26 | self.value = value 27 | self.left_node = PriorityQueue() 28 | self.right_node = PriorityQueue() 29 | elif self.left_num == 0 and self.right_num == 0: 30 | # insert into left node 31 | if value <= self.value: 32 | value,self.value = self.value,value 33 | self.left_node = PriorityQueue(value) 34 | self.left_num += 1 35 | elif self.left_num == 1 and self.right_num == 0: 36 | # insert into right 37 | if value <= self.value: 38 | value,self.value = self.value,value 39 | self.right_node = PriorityQueue(value) 40 | self.right_num += 1 41 | else: 42 | if value <= self.value: 43 | value,self.value = self.value,value 44 | 45 | left = (log2(self.left_num+1)*10)%10 46 | right = (log2(self.right_num+1)*10)%10 47 | 48 | if left > 0: 49 | # should insert into left node 50 | self.left_node.insert(value) 51 | self.left_num += 1 52 | elif right > 0: 53 | # should insert into right node 54 | self.right_node.insert(value) 55 | self.right_num += 1 56 | elif left == 0 and right == 0: 57 | if self.left_num > self.right_num: 58 | # insert into right 59 | self.right_node.insert(value) 60 | self.right_num += 1 61 | else: 62 | # start a new level of subnodes from left 63 | self.left_node.insert(value) 64 | self.left_num += 1 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Quizzes/Week11/quiz_10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week11/quiz_10.pdf -------------------------------------------------------------------------------- /Quizzes/Week11/quiz_10.py: -------------------------------------------------------------------------------- 1 | # Implemements the insertion into a priority queue 2 | # with smallest elements being of highest priority 3 | # as a binary tree. 4 | # 5 | # Written by Eric Martin for COMP9021 6 | 7 | 8 | import sys 9 | from random import randint, seed 10 | from priority_queue import * 11 | 12 | 13 | provided_input = input('Enter two integers, the second one nonnegative and at most equal to 10: ') 14 | provided_input = provided_input.split() 15 | if len(provided_input) != 2: 16 | print('Incorrect input, giving up.') 17 | sys.exit() 18 | try: 19 | seed_arg = int(provided_input[0]) 20 | nb_of_nodes = int(provided_input[1]) 21 | if nb_of_nodes < 0 or nb_of_nodes > 10: 22 | raise ValueError 23 | except: 24 | print('Incorrect input, giving up.') 25 | sys.exit() 26 | seed(seed_arg) 27 | pq = PriorityQueue() 28 | for i in range(nb_of_nodes - 1): 29 | pq.insert(randint(0, nb_of_nodes)) 30 | pq.print_binary_tree() 31 | print() 32 | pq.insert(randint(0, nb_of_nodes)) 33 | pq.print_binary_tree() 34 | 35 | 36 | -------------------------------------------------------------------------------- /Quizzes/Week2/quiz_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week2/quiz_1.pdf -------------------------------------------------------------------------------- /Quizzes/Week2/quiz_1.py: -------------------------------------------------------------------------------- 1 | 2 | import sys 3 | from random import seed, randint 4 | 5 | 6 | max_value = 19 7 | 8 | try: 9 | arg_for_seed, length = input('Enter two nonnegative integers: ').split() 10 | except ValueError: 11 | print('Incorrect input, giving up.') 12 | sys.exit() 13 | try: 14 | arg_for_seed, length = int(arg_for_seed), int(length) 15 | if arg_for_seed < 0 or length < 0: 16 | raise ValueError 17 | except ValueError: 18 | print('Incorrect input, giving up.') 19 | sys.exit() 20 | 21 | seed(arg_for_seed) 22 | L = [randint(0, max_value) for _ in range(length)] 23 | print('The generated list is:') 24 | print(' ', L) 25 | #start writing here 26 | 27 | do_L = L 28 | L = [] 29 | L.append(do_L.pop(0)) 30 | 31 | #print('L is: ', L) 32 | 33 | for i in range(len(do_L)): 34 | j = len(do_L) 35 | if(j!=0): 36 | k = 0 37 | while (k < j and do_L[k] <= L[i]): 38 | k = k + 1 39 | if (k == j): 40 | L.append(do_L.pop(0)) 41 | else: 42 | L.append(do_L.pop(k)) 43 | else: 44 | break 45 | 46 | #transformation done 47 | print('The transformed list is:') 48 | print(' ', L) 49 | -------------------------------------------------------------------------------- /Quizzes/Week2/quiz_1_sol.py: -------------------------------------------------------------------------------- 1 | # Prompts the user for two nonnegative integers, generates a list L of random numbers 2 | # between 0 and 19, of length the second input, outputs L, and outputs L again where 3 | # all elements have been rearranged so that L is now of the form L_1 L_2 ... L_k and: 4 | # - * L_1 starts with the first element of L, 5 | # * L_2 starts with the first element of L with all elements of L_1 removed, 6 | # ... 7 | # * L_k starts with the first element of L with all elements of L_1, ..., L_{k-1} removed; 8 | # - * L_1 is a stricly increasing subsequence of L of longest possible length, 9 | # * L_1 is a stricly increasing subsequences of L with all elements of L_1 removed 10 | # of longest possible length, 11 | # ... 12 | # * L_k is a stricly increasing subsequences of L with all elements of L_1, ..., L_{k-1} removed 13 | # of longest possible length. 14 | # 15 | # Written by Eric Martin for COMP9021 16 | 17 | 18 | import sys 19 | from random import seed, randint 20 | 21 | 22 | max_value = 19 23 | 24 | try: 25 | arg_for_seed, length = input('Enter two nonnegative integers: ').split() 26 | except ValueError: 27 | print('Incorrect input, giving up.') 28 | sys.exit() 29 | try: 30 | arg_for_seed, length = int(arg_for_seed), int(length) 31 | if arg_for_seed < 0 or length < 0: 32 | raise ValueError 33 | except ValueError: 34 | print('Incorrect input, giving up.') 35 | sys.exit() 36 | 37 | seed(arg_for_seed) 38 | L = [randint(0, max_value) for _ in range(length)] 39 | print('The generated list is:') 40 | print(' ', L) 41 | 42 | R = [] 43 | i = length 44 | while L: 45 | if i == len(L): 46 | R.append(L[0]) 47 | del L[0] 48 | i = 0 49 | elif L[i] > R[-1]: 50 | R.append(L[i]) 51 | del L[i] 52 | else: 53 | i += 1 54 | L = R 55 | 56 | print('The transformed list is:') 57 | print(' ', L) 58 | -------------------------------------------------------------------------------- /Quizzes/Week3/quiz_2 马丁.py: -------------------------------------------------------------------------------- 1 | # Implements coding and decoding functions for pairs of integers. 2 | # For coding, start at point (0, 0), move to point (1, 0), and turn 3 | # around in an anticlockwise manner. 4 | # 5 | # Written by *** for COMP9021 6 | 7 | 8 | from math import sqrt 9 | 10 | 11 | def encode(a, b): 12 | 13 | if a>=b: 14 | if sqrt(a*a)> sqrt(b*b): 15 | num= ((a-1)*2+1)**2-(b+(a-1)) 16 | else: 17 | num= (2*(-b)+1)**2-1+(a+b) 18 | else: 19 | if sqrt(a*a)>= sqrt(b*b): 20 | num= (a*2)**2-(a+b) 21 | else: 22 | num= (b*2)**2-(a+b) 23 | return num 24 | def decode(n): 25 | 26 | base= int(sqrt(n)) 27 | if base%2==1: 28 | if n<= base**2+base: 29 | a=(base+1)/2 30 | b=n-(base)**2-((base-1)/2) 31 | else: 32 | a=(base+1)/2-(n-base**2-base) 33 | b=(base+1)/2 34 | else: 35 | if n<= base**2+base: 36 | a=-base/2 37 | b=base/2-(n-base**2) 38 | else: 39 | a=-base/2+n-base**2-base 40 | b=-base/2 41 | return int(a),int(b) 42 | 43 | 44 | -------------------------------------------------------------------------------- /Quizzes/Week3/quiz_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week3/quiz_2.pdf -------------------------------------------------------------------------------- /Quizzes/Week3/quiz_2.py: -------------------------------------------------------------------------------- 1 | # Implements coding and decoding functions for pairs of integers. 2 | # For coding, start at point (0, 0), move to point (1, 0), and turn 3 | # around in an anticlockwise manner. 4 | # 5 | # Written by Hao for COMP9021 6 | 7 | 8 | from math import sqrt 9 | 10 | 11 | def encode(a, b): 12 | if abs(a) >= abs(b): 13 | n = abs(a) 14 | else: 15 | n = abs(b) 16 | min_value = (n*2 - 1)**2 17 | max_value = ((n+1)*2 - 1)**2 - 1 18 | Number1=max_value 19 | Number2=min_value 20 | Number3=min_value+2*n-1 21 | Number4=min_value+2*n-1+2*n 22 | Number5=min_value++2*n-1+4*n 23 | Number=0 24 | if (a==n and b==-n): 25 | Number=max_value 26 | if (a==n and b==1-n): 27 | Number=min_value 28 | if (a==n and b==n): 29 | Number=min_value+2*n-1 30 | if (a==-n and b==n): 31 | Number=min_value+2*n-1+2*n 32 | if (a==-n and b==-n): 33 | Number=min_value++2*n-1+4*n 34 | 35 | if (a==n and b > 1-n and b-n and a-n and b-n and a min_value and n Number1 and n < Number2: 87 | i=cycle_value-(n-Number1) 88 | j=cycle_value 89 | print('7') 90 | if n>Number2 and n < Number3: 91 | i=-cycle_value 92 | j=cycle_value-(n- Number2) 93 | print('8') 94 | if n > Number3 and n10 or j>10): 36 | # continue 37 | # print(grid) 38 | 39 | # #print(do_L) 40 | L=[] 41 | for i in range(9,-1,-1): 42 | sum_c=0 43 | for j in range(10): 44 | if(grid[i][j]!=0): 45 | k=i 46 | while(grid[k][j]!=0 and k>=0): 47 | sum_c=sum_c+1 48 | k=k-1 49 | if(grid[k][j]==0): 50 | L.append(sum_c) 51 | if (grid[i][j]==0 or j>=9): 52 | L.append(sum_c) 53 | sum_c=0 54 | 55 | #print(L) 56 | return(max(L)) 57 | 58 | # m=i 59 | # n=j 60 | # print('m is: ',m) 61 | # print('n is: ',n) 62 | # while(grid[m][j]!=0): 63 | # block=block+1 64 | # m=m-1 65 | # if(grid[i][n+1]==0): 66 | # break 67 | 68 | #n=n+1 69 | #while(grid[i][n]!=0): 70 | #block=block+1 71 | #n=n+1 72 | #print('2',block) 73 | #print('3',block) 74 | # If j1 <= j2 and the grid has a 1 at the intersection of row i and column j 75 | # for all j in {j1, ..., j2}, then returns the number of blocks in the construction 76 | # built over this line of blocks. 77 | def construction_size(i, j1, j2): 78 | pass 79 | # Replace pass above with your code 80 | 81 | 82 | try: 83 | for_seed, n = [int(i) for i in 84 | input('Enter two integers, the second one being strictly positive: ').split()] 85 | if n <= 0: 86 | raise ValueError 87 | except ValueError: 88 | print('Incorrect input, giving up.') 89 | sys.exit() 90 | 91 | seed(for_seed) 92 | grid = [[randrange(n) for _ in range(dim)] for _ in range(dim)] 93 | print('Here is the grid that has been generated:') 94 | display_grid() 95 | print('The largest block construction has {} blocks.'.format(size_of_largest_construction())) 96 | -------------------------------------------------------------------------------- /Quizzes/Week5/quiz_4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week5/quiz_4.pdf -------------------------------------------------------------------------------- /Quizzes/Week5/quiz_4.py: -------------------------------------------------------------------------------- 1 | # Uses Global Temperature Time Series, avalaible at 2 | # http://data.okfn.org/data/core/global-temp, stored in the file monthly.csv, 3 | # assumed to be stored in the working directory. 4 | # Prompts the user for the source, a range of years, and a month. 5 | # - The source is either GCAG or GISTEMP. 6 | # - The range of years is of the form xxxx--xxxx, and both years can be the same, 7 | # or the first year can be anterior to the second year, 8 | # or the second year can be anterior to the first year. 9 | # - The month is a two digit number. 10 | # We assume that the input is correct and the data for the requested month 11 | # exist for all years in the requested range. 12 | # Then outputs: 13 | # - The average of the values for that source, for this month, for those years. 14 | # - The list of years (in increasing order) for which the value is larger than that average. 15 | # 16 | # Written by *** and Eric Martin for COMP9021 17 | 18 | 19 | import sys 20 | import os 21 | import csv 22 | import re 23 | import statistics 24 | 25 | filename = 'monthly.csv' 26 | if not os.path.exists(filename): 27 | print('There is no file named {} in the working directory, giving up...'.format(filename)) 28 | sys.exit() 29 | 30 | source = input('Enter the source (GCAG or GISTEMP): ') 31 | range_for_the_years = input('Enter a range for the years in the form XXXX--XXXX: ') 32 | month = input('Enter a month in the form of a 2-digit number: ') 33 | average = 0 34 | years_above_average = [] 35 | 36 | range_for_the_years.split() 37 | if(int(range_for_the_years[0:4])>=int(range_for_the_years[6:10])): 38 | year_up=int(range_for_the_years[0:4]) 39 | year_down=int(range_for_the_years[6:10]) 40 | else: 41 | year_down=int(range_for_the_years[0:4]) 42 | year_up=int(range_for_the_years[6:10]) 43 | #print(year_up) 44 | #print(year_down) 45 | average_GCAG = 0 46 | average_GISTEMP = 0 47 | 48 | with open(filename) as csvfile: 49 | L_count_GCAG=[] 50 | L_count_GISTEMP=[] 51 | year_GCAG=[] 52 | year_GISTEMP=[] 53 | for line in csvfile: 54 | #print('1', line) 55 | data='' 56 | data=line 57 | if(data.startswith('Source')==True): 58 | #print('1',data) 59 | continue 60 | if(data[0:4]==source): 61 | #print(data) #this is GCAG 62 | data=data.split(',') 63 | #print(data) 64 | #print(int(data[1][0:4])) 65 | #print(int(data[1][5:7])) 66 | if(int(data[1][0:4]) >= year_down and int(data[1][0:4])<=year_up and int(data[1][5:7])==int(month)): 67 | L_count_GCAG.append(float(data[2])) 68 | year_GCAG.append([int(data[1][0:4]),float(data[2])]) 69 | #print(year_GCAG) 70 | if(data[0:7]==source): 71 | #print(data) 72 | data=data.split(',') 73 | #print(data) 74 | if(int(data[1][0:4]) >= year_down and int(data[1][0:4])<=year_up and int(data[1][5:7])==int(month)): 75 | L_count_GISTEMP.append(float(data[2])) 76 | year_GISTEMP.append([int(data[1][0:4]),float(data[2])]) 77 | #print(data[2]) 78 | #print(L_count_GISTEMP) 79 | if(source=='GCAG'): 80 | #print(L_count_GCAG) 81 | average_GCAG=statistics.mean(L_count_GCAG) 82 | #print(average_GCAG) 83 | average=average_GCAG 84 | for i in year_GCAG: 85 | if(i[1]>average): 86 | years_above_average.append(i[0]) 87 | years_above_average=sorted(years_above_average) 88 | else: 89 | #print(L_count_GISTEMP) 90 | average_GISTEMP=statistics.mean(L_count_GISTEMP) 91 | average=average_GISTEMP 92 | for i in year_GISTEMP: 93 | if(i[1]>average): 94 | years_above_average.append(i[0]) 95 | years_above_average=sorted(years_above_average) 96 | 97 | 98 | 99 | 100 | 101 | print('The average anomaly for this month of those years is: {:.2f}.'.format(average)) 102 | print('The list of years when the temperature anomaly was above average is:') 103 | print(years_above_average) 104 | -------------------------------------------------------------------------------- /Quizzes/Week5/quiz_4——dic.py: -------------------------------------------------------------------------------- 1 | # Uses Global Temperature Time Series, avalaible at 2 | # http://data.okfn.org/data/core/global-temp, stored in the file monthly.csv, 3 | # assumed to be stored in the working directory. 4 | # Prompts the user for the source, a range of years, and a month. 5 | # - The source is either GCAG or GISTEMP. 6 | # - The range of years is of the form xxxx--xxxx, and both years can be the same, 7 | # or the first year can be anterior to the second year, 8 | # or the second year can be anterior to the first year. 9 | # - The month is a two digit number. 10 | # We assume that the input is correct and the data for the requested month 11 | # exist for all years in the requested range. 12 | # Then outputs: 13 | # - The average of the values for that source, for this month, for those years. 14 | # - The list of years (in increasing order) for which the value is larger than that average. 15 | # 16 | # Written by *** and Eric Martin for COMP9021 17 | 18 | 19 | import sys 20 | import os 21 | import csv 22 | 23 | 24 | filename = 'monthly.csv' 25 | if not os.path.exists(filename): 26 | print('There is no file named {} in the working directory, giving up...'.format(filename)) 27 | sys.exit() 28 | 29 | source = input('Enter the source (GCAG or GISTEMP): ') 30 | range_for_the_years = input('Enter a range for the years in the form XXXX--XXXX: ') 31 | month = input('Enter a month in the form of a 2-digit number: ') 32 | sumall=0 33 | average = 0 34 | years_above_average = [] 35 | #print(range_for_the_years) 36 | start,end=range_for_the_years.split('--') 37 | print(start) 38 | print(end) 39 | start=int(start) 40 | end=int(end) 41 | if start>end: 42 | transform=start 43 | start=end 44 | end=transform # 小数在前大数在后 45 | if month[0]=='0': 46 | month=int(month[1]) 47 | else: 48 | month=int(month) #month如果是两位数则改为一位 49 | GCAG={} 50 | GISTEMP={} 51 | 52 | with open(filename) as csvfile: 53 | judge1=0 54 | judge2=0 55 | for line in csvfile: 56 | #print(line) 57 | form,date,mean=line.split(',') 58 | #print(form,date,mean) 59 | if form=='GCAG': 60 | year,mon=date.split('-') 61 | year=int(year) 62 | if judge1!=year: # 旧年则不动 新年则建一个新的数组 63 | GCAG[year]=[0]*13 64 | judge1=year 65 | if mon[0]=='0': 66 | mon=(int(mon[1])) 67 | else: 68 | mon=(int(mon)) # 把mon改成1位 69 | #print(GCAG) 70 | #mean=float(mean) 71 | #print(mean) 72 | GCAG[year][mon]=float(mean) # year为key mon为下标 注入数据 73 | if form=='GISTEMP': 74 | year,mon=date.split('-') 75 | year=int(year) 76 | if judge2!=year: 77 | GISTEMP[year]=[0]*13 78 | judge2=year 79 | if mon[0]=='0': 80 | mon=(int(mon[1])) 81 | else: 82 | mon=(int(mon)) 83 | mean=float(mean) 84 | GISTEMP[year][mon]=mean 85 | amount=0 86 | sumall=0 87 | if source=='GCAG': 88 | for key in GCAG: 89 | if key <= end and key >= start: 90 | sumall=sumall+GCAG[key][month]# mei nian de zhe ge yue de zhi qiu he 91 | amount=amount+1 92 | print(sumall) 93 | average=float(sumall/amount)# ping jun zhi 94 | for key in GCAG: 95 | if GCAG[key][month] > average and (key <= end and key >= start): 96 | years_above_average.append(key) 97 | if source=='GISTEMP': 98 | for key in GCAG: 99 | if key <= end and key >= start: 100 | sumall=sumall+GISTEMP[key][month] 101 | amount=amount+1 102 | average=float(sumall/amount) 103 | for key in GISTEMP: 104 | if GISTEMP[key][month] > average and (key <= end and key >= start): 105 | years_above_average.append(key) 106 | 107 | 108 | 109 | print('The average anomaly for this month of those years is: {:.2f}.'.format(average)) 110 | print('The list of years when the temperature anomaly was above average is:') 111 | print(years_above_average) 112 | -------------------------------------------------------------------------------- /Quizzes/Week6/quiz_5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week6/quiz_5.pdf -------------------------------------------------------------------------------- /Quizzes/Week6/quiz_5.py: -------------------------------------------------------------------------------- 1 | # Randomly fills an array of size 10x10 with 0s and 1s, and 2 | # outputs the number chess knights needed to jump from 1s to 1s 3 | # and visit all 1s (they can jump back to locations previously visited). 4 | # 5 | # Written by *** and Eric Martin for COMP9021 6 | 7 | 8 | from random import seed, randrange 9 | import sys 10 | 11 | 12 | dim = 10 13 | 14 | def display(): 15 | for i in range(dim): 16 | print(' ', end = '') 17 | for j in range(dim): 18 | print(grid[i][j], end = '') 19 | print() 20 | print() 21 | 22 | 23 | def display_grid(): 24 | for i in range(dim): 25 | print(' ', end = '') 26 | for j in range(dim): 27 | print(' 1', end = '') if grid[i][j] else print(' 0', end = '') 28 | print() 29 | print() 30 | 31 | 32 | def explore_board(): 33 | nb_of_knights=0 34 | for i in range(dim): 35 | for j in range(dim): 36 | if(grid[i][j]==True): 37 | all_points_can_be_reached_by_one_knight(i,j,grid) 38 | nb_of_knights=nb_of_knights+1 39 | if(check(grid)==True): 40 | return nb_of_knights 41 | 42 | 43 | def all_points_can_be_reached_by_one_knight (i,j,grid): 44 | L1=[] 45 | L1.append((i,j)) 46 | 47 | for k in L1: 48 | if(k[0]-1>=0 and k[0]-1<=dim-1 and k[1]-2>=0 and k[1]-2<=dim-1 and grid[k[0]-1][k[1]-2]==True and (k[0]-1,k[1]-2) not in L1): 49 | L1.append((k[0]-1,k[1]-2)) 50 | 51 | if(k[0]-2>=0 and k[0]-2<=dim-1 and k[1]-1>=0 and k[1]-1<=dim-1 and grid[k[0]-2][k[1]-1]==True and (k[0]-2,k[1]-1) not in L1): 52 | L1.append((k[0]-2,k[1]-1)) 53 | 54 | if(k[0]+2>=0 and k[0]+2<=dim-1 and k[1]-1>=0 and k[1]-1<=dim-1 and grid[k[0]+2][k[1]-1]==True and (k[0]+2,k[1]-1) not in L1): 55 | L1.append((k[0]+2,k[1]-1)) 56 | 57 | if(k[0]+1>=0 and k[0]+1<=dim-1 and k[1]-2>=0 and k[1]-2<=dim-1 and grid[k[0]+1][k[1]-2]==True and (k[0]+1,k[1]-2) not in L1): 58 | L1.append((k[0]+1,k[1]-2)) 59 | 60 | if(k[0]-2>=0 and k[0]-2<=dim-1 and k[1]+1>=0 and k[1]+1<=dim-1 and grid[k[0]-2][k[1]+1]==True and (k[0]-2,k[1]+1) not in L1): 61 | L1.append((k[0]-2,k[1]+1)) 62 | 63 | if(k[0]-1>=0 and k[0]-1<=dim-1 and k[1]+2>=0 and k[1]+2<=dim-1 and grid[k[0]-1][k[1]+2]==True and (k[0]-1,k[1]+2) not in L1): 64 | L1.append((k[0]-1,k[1]+2)) 65 | 66 | if(k[0]+1>=0 and k[0]+1<=dim-1 and k[1]+2>=0 and k[1]+2<=dim-1 and grid[k[0]+1][k[1]+2]==True and (k[0]+1,k[1]+2) not in L1): 67 | L1.append((k[0]+1,k[1]+2)) 68 | 69 | if(k[0]+2>=0 and k[0]+2<=dim-1 and k[1]+1>=0 and k[1]+1<=dim-1 and grid[k[0]+2][k[1]+1]==True and (k[0]+2,k[1]+1) not in L1): 70 | L1.append((k[0]+2,k[1]+1)) 71 | 72 | 73 | for m in L1: 74 | grid[m[0]][m[1]]='visted' 75 | L1=sorted(L1) 76 | #print(L1) 77 | #print(grid) 78 | return grid 79 | 80 | def check(grid): 81 | for i in range(dim): 82 | for j in range(dim): 83 | if grid[i][j]==True: 84 | return False 85 | return True 86 | 87 | 88 | try: 89 | for_seed, n = [int(i) for i in 90 | input('Enter two integers: ').split()] 91 | if not n: 92 | raise ValueError 93 | except ValueError: 94 | print('Incorrect input, giving up.') 95 | sys.exit() 96 | 97 | seed(for_seed) 98 | grid = [[None] * dim for _ in range(dim)] 99 | if n > 0: 100 | for i in range(dim): 101 | for j in range(dim): 102 | grid[i][j] = randrange(n) > 0 103 | else: 104 | for i in range(dim): 105 | for j in range(dim): 106 | grid[i][j] = randrange(-n) == 0 107 | print('Here is the grid that has been generated:') 108 | display_grid() 109 | nb_of_knights = explore_board() 110 | if not nb_of_knights: 111 | print('No chess knight has explored this board.') 112 | else: 113 | print('At least {} chess'.format(nb_of_knights), end = ' ') 114 | print('knight has', end = ' ') if nb_of_knights == 1 else print('knights have', end = ' ') 115 | print('explored this board.') 116 | 117 | -------------------------------------------------------------------------------- /Quizzes/Week6/quiz_5_sol.py: -------------------------------------------------------------------------------- 1 | # Randomly fills an array of size 10x10 with 0s and 1s, and 2 | # outputs the number chess knights needed to jump from 1s to 1s 3 | # and visit all 1s (they can jump back to locations previously visited). 4 | # 5 | # Written by Eric Martin for COMP9021 6 | 7 | 8 | from random import seed, randrange 9 | import sys 10 | 11 | 12 | dim = 10 13 | 14 | 15 | def display_grid(): 16 | for i in range(dim): 17 | print(' ', end = '') 18 | for j in range(dim): 19 | print(' 1', end = '') if grid[i][j] else print(' 0', end = '') 20 | print() 21 | print() 22 | 23 | 24 | def explore_board(): 25 | knight_count = 0 26 | for i in range(dim): 27 | for j in range(dim): 28 | if grid[i][j]: 29 | knight_count += 1 30 | bolt_crazy_horse(i, j) 31 | return knight_count 32 | 33 | 34 | def bolt_crazy_horse(i, j): 35 | if not grid[i][j]: 36 | return 37 | grid[i][j] = 0 38 | if i - 2 >= 0: 39 | if j: 40 | bolt_crazy_horse(i - 2, j - 1) 41 | if j + 1 < dim: 42 | bolt_crazy_horse(i - 2, j + 1) 43 | if i + 2 < dim: 44 | if j: 45 | bolt_crazy_horse(i + 2, j - 1) 46 | if j + 1 < dim: 47 | bolt_crazy_horse(i + 2, j + 1) 48 | if j - 2 >= 0: 49 | if i: 50 | bolt_crazy_horse(i - 1, j - 2) 51 | if i + 1 < dim: 52 | bolt_crazy_horse(i + 1, j - 2) 53 | if j + 2 < dim: 54 | if i: 55 | bolt_crazy_horse(i - 1, j + 2) 56 | if i + 1 < dim: 57 | bolt_crazy_horse(i + 1, j + 2) 58 | 59 | 60 | try: 61 | for_seed, n = [int(i) for i in 62 | input('Enter two integers: ').split()] 63 | if not n: 64 | raise ValueError 65 | except ValueError: 66 | print('Incorrect input, giving up.') 67 | sys.exit() 68 | 69 | seed(for_seed) 70 | grid = [[None] * dim for _ in range(dim)] 71 | if n > 0: 72 | for i in range(dim): 73 | for j in range(dim): 74 | grid[i][j] = randrange(n) > 0 75 | else: 76 | for i in range(dim): 77 | for j in range(dim): 78 | grid[i][j] = randrange(-n) == 0 79 | print('Here is the grid that has been generated:') 80 | display_grid() 81 | nb_of_knights = explore_board() 82 | if not nb_of_knights: 83 | print('No chess knight has explored this board.') 84 | else: 85 | print('At least {} chess'.format(nb_of_knights), end = ' ') 86 | print('knight has', end = ' ') if nb_of_knights == 1 else print('knights have', end = ' ') 87 | print('explored this board.') 88 | 89 | -------------------------------------------------------------------------------- /Quizzes/Week7/__pycache__/quiz_6.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week7/__pycache__/quiz_6.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week7/quiz_6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week7/quiz_6.pdf -------------------------------------------------------------------------------- /Quizzes/Week7/quiz_6.py: -------------------------------------------------------------------------------- 1 | # Creates 3 classes, Point, Line and Parallelogram. 2 | # A point is determined by 2 coordinates (int or float). 3 | # A line is determined by 2 distinct points. 4 | # A parallelogram is determined by 4 distint lines, 5 | # two of which having the same slope, the other two having the same slope too. 6 | # The Parallelogram has a method, divides_into_two_parallelograms(), that determines 7 | # where a line, provide as arguments, can split the object into two smaller parallelograms. 8 | # 9 | # Written by *** for COMP9021 10 | 11 | 12 | from collections import defaultdict 13 | 14 | 15 | class Point: 16 | def __init__(self, x, y): 17 | self.x = x 18 | self.y = y 19 | 20 | 21 | class Line: 22 | def __init__(self,pt_1,pt_2): 23 | self.pt_1 = Point(pt_1.x,pt_1.y) 24 | self.pt_2 = Point(pt_2.x,pt_2.y) 25 | if pt_1.x == pt_2.x and pt_1.y == pt_2.y: 26 | print('Cannot create line') 27 | elif pt_1.y == pt_2.y: 28 | self.k = 0 29 | self.b = pt_1.y 30 | elif pt_1.x == pt_2.x: 31 | self.k = None 32 | self.b = pt_1.x 33 | else: 34 | self.k = (pt_2.y-pt_1.y) / (pt_2.x-pt_1.x) 35 | self.b = pt_1.y - (self.k * pt_1.x) 36 | class Parallelogram: 37 | def __init__(self,line_1,line_2,line_3,line_4): 38 | self.l1 = (line_1.k, line_1.b) 39 | self.l2 = (line_2.k, line_2.b) 40 | self.l3 = (line_3.k, line_3.b) 41 | self.l4 = (line_4.k, line_4.b) 42 | 43 | if (self.l1[0] == self.l2[0] and self.l1[1] != self.l2[1] and self.l3[0] == self.l4[0] and self.l3[1] != self.l4[1]): 44 | if(self.l1[1] > self.l2[1]): 45 | self.para_edge_1 = (self.l1[0], self.l1[1], self.l2[1]) 46 | else: 47 | self.para_edge_1 = (self.l1[0], self.l2[1], self.l1[1]) 48 | if(self.l3[1] > self.l4[1]): 49 | self.para_edge_2 = (self.l3[0], self.l3[1], self.l4[1]) 50 | else: 51 | self.para_edge_2 = (self.l3[0], self.l4[1], self.l3[1]) 52 | 53 | elif (self.l1[0] == self.l3[0] and self.l1[1] != self.l3[1] and self.l2[0] == self.l4[0] and self.l2[1] != self.l4[1]): 54 | if(self.l1[1] > self.l3[1]): 55 | self.para_edge_1 = (self.l1[0], self.l1[1], self.l3[1]) 56 | else: 57 | self.para_edge_1 = (self.l1[0], self.l3[1], self.l1[1]) 58 | if(self.l2[1] > self.l4[1]): 59 | self.para_edge_2 = (self.l2[0], self.l2[1], self.l4[1]) 60 | else: 61 | self.para_edge_2 = (self.l2[0], self.l4[1], self.l2[1]) 62 | 63 | elif (self.l1[0] == self.l4[0] and self.l1[1] != self.l4[1] and self.l2[0] == self.l3[0] and self.l2[1] != self.l3[1]): 64 | if(self.l1[1] > self.l4[1]): 65 | self.para_edge_1 = (self.l1[0], self.l1[1], self.l4[1]) 66 | else: 67 | self.para_edge_1 = (self.l1[0], self.l4[1], self.l1[1]) 68 | if(self.l2[1] > self.l3[1]): 69 | self.para_edge_2 = (self.l2[0], self.l2[1], self.l3[1]) 70 | else: 71 | self.para_edge_2 = (self.l2[0], self.l3[1], self.l2[1]) 72 | 73 | else: 74 | print('Cannot create parallelogram') 75 | 76 | def divides_into_two_parallelograms(self, line): 77 | if line.k == self.para_edge_1[0] and self.para_edge_1[2] < line.b < self.para_edge_1[1]: 78 | return True 79 | elif line.k == self.para_edge_2[0] and self.para_edge_2[2] < line.b < self.para_edge_2[1]: 80 | return True 81 | return False 82 | 83 | 84 | -------------------------------------------------------------------------------- /Quizzes/Week7/quiz_6_sol.py: -------------------------------------------------------------------------------- 1 | # Creates 3 classes, Point, Line and Parallelogram. 2 | # A point is determined by 2 coordinates (int or float). 3 | # A line is determined by 2 distinct points. 4 | # A parallelogram is determined by 4 distint lines, 5 | # two of which having the same slope, the other two having the same slope too. 6 | # The Parallelogram has a method, divides_into_two_parallelograms(), that determines 7 | # where a line, provide as arguments, can split the object into two smaller parallelograms. 8 | # 9 | # Written by Eric Martin for COMP9021 10 | 11 | 12 | from collections import defaultdict 13 | 14 | 15 | class Point: 16 | def __init__(self, x, y): 17 | self.x = x 18 | self.y = y 19 | 20 | 21 | class Line: 22 | def __init__(self, pt_1, pt_2): 23 | if pt_1.x == pt_2.x and pt_1.y == pt_2.y: 24 | print('Cannot create line') 25 | return 26 | self.pt_1 = pt_1 27 | self.pt_2 = pt_2 28 | if pt_2.x == pt_1.x: 29 | self.slope = float('inf') 30 | self.intersect = pt_1.x 31 | elif pt_2.y == pt_1.y: 32 | self.slope = 0 33 | self.intersect = pt_1.y 34 | else: 35 | self.slope = (pt_2.y - pt_1.y) / (pt_2.x - pt_1.x) 36 | self.intersect = pt_1.y - pt_1.x * self.slope 37 | 38 | def __eq__(self, other): 39 | return self.slope == other.slope and self.intersect == other.intersect 40 | 41 | 42 | class Parallelogram: 43 | def __init__(self, line_1, line_2, line_3, line_4): 44 | slopes = {line_1.slope, line_2.slope, line_3.slope, line_4.slope} 45 | if len(slopes) != 2: 46 | print('Cannot create parallelogram') 47 | return 48 | self.sides = defaultdict(set) 49 | lines = line_1, line_2, line_3, line_4 50 | if len(lines) != 4: 51 | print('Cannot create parallelogram') 52 | return 53 | for line in lines: 54 | self.sides[line.slope].add(line.intersect) 55 | for slope in slopes: 56 | if len(self.sides[slope]) != 2: 57 | print('Cannot create parallelogram') 58 | return 59 | self.sides[slope] = sorted(self.sides[slope]) 60 | 61 | def divides_into_two_parallelograms(self, line): 62 | if line.slope not in self.sides: 63 | return False 64 | return self.sides[line.slope][0] < line.intersect < self.sides[line.slope][1] 65 | 66 | 67 | -------------------------------------------------------------------------------- /Quizzes/Week8/__pycache__/extended_linked_list.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week8/__pycache__/extended_linked_list.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week8/__pycache__/extended_linked_list_sol.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week8/__pycache__/extended_linked_list_sol.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week8/__pycache__/linked_list.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week8/__pycache__/linked_list.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week8/extended_linked_list.py: -------------------------------------------------------------------------------- 1 | # Written by *** for COMP9021 2 | 3 | from linked_list import * 4 | 5 | class ExtendedLinkedList(LinkedList): 6 | def __init__(self, L = None): 7 | super().__init__(L) 8 | 9 | def rearrange(self): 10 | L=self.duplicate() 11 | n=len(L) 12 | temp = L.value_at(n>>1) 13 | if n%2 != 0: 14 | while n>0: 15 | L.delete_value(temp) 16 | self.delete_value(temp) 17 | self.append(temp) 18 | n=n-1 19 | if n%2 == 0: 20 | temp = L.value_at((n-1)//2) 21 | else: 22 | temp = L.value_at(n>>1) 23 | else: 24 | while n>0: 25 | L.delete_value(temp) 26 | self.delete_value(temp) 27 | self.append(temp) 28 | n=n-1 29 | if n%2 == 0: 30 | temp = L.value_at(n>>1) 31 | else: 32 | temp = L.value_at((n-1)//2) 33 | # while n>0: 34 | # L.delete_value(temp) 35 | # self.delete_value(temp) 36 | # self.append(temp) 37 | # n=n-1 38 | # if n%2 == 0: 39 | # temp = L.value_at((n-1)//2) 40 | # else: 41 | # temp = L.value_at(n>>1) 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Quizzes/Week8/extended_linked_list_sol.py: -------------------------------------------------------------------------------- 1 | # Written by Eric Martin for COMP9021 2 | 3 | from linked_list import * 4 | 5 | class ExtendedLinkedList(LinkedList): 6 | def __init__(self, L = None): 7 | super().__init__(L) 8 | 9 | def rearrange(self): 10 | length = len(self) 11 | if length < 2: 12 | return 13 | first_node = self.head 14 | current_node = self.head 15 | print ('first_node 123 ',current_node.value) 16 | print ('current_node 321',current_node.value) 17 | for _ in range(length // 2 - 1): 18 | current_node = current_node.next_node 19 | print('12312313',current_node.value) 20 | self.head = current_node.next_node 21 | current_node = self.head 22 | for i in range(length // 2 - 1): 23 | next_node = first_node 24 | for _ in range(length // 2 - 2 - i): 25 | next_node = next_node.next_node 26 | next_next_node = current_node.next_node 27 | current_node.next_node = next_node.next_node 28 | next_node.next_node.next_node = next_next_node 29 | current_node = next_next_node 30 | last_node = current_node.next_node 31 | current_node.next_node = first_node 32 | first_node.next_node = last_node 33 | 34 | -------------------------------------------------------------------------------- /Quizzes/Week8/quiz_7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week8/quiz_7.pdf -------------------------------------------------------------------------------- /Quizzes/Week8/quiz_7.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from random import seed, sample 3 | from linked_list import * 4 | from extended_linked_list_sol import ExtendedLinkedList 5 | 6 | def collect_references(L, length): 7 | node = L.head 8 | references = set() 9 | for i in range(length): 10 | references.add(id(node)) 11 | node = node.next_node 12 | return references 13 | 14 | 15 | provided_input = input('Enter 2 positive integers: ') 16 | try: 17 | provided_input = [int(arg) for arg in provided_input.split()] 18 | except ValueError: 19 | print('Incorrect input (not all integers), giving up.') 20 | sys.exit() 21 | 22 | if len(provided_input) != 2: 23 | print('Incorrect input (not 2 arguments), giving up.') 24 | sys.exit() 25 | for_seed, length = provided_input 26 | if length < 0 or length > 100: 27 | print('Incorrect input (2nd integer not positive, giving up.') 28 | sys.exit() 29 | seed(for_seed) 30 | 31 | L = sample(list(range(length * 10)), length) 32 | 33 | LL = ExtendedLinkedList(L) 34 | LL.print() 35 | print('----------------------------------------') 36 | LL.rearrange() 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Quizzes/Week9/__pycache__/array_queue.cpython-35.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week9/__pycache__/array_queue.cpython-35.pyc -------------------------------------------------------------------------------- /Quizzes/Week9/quiz_8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chen1415-UNSW/COMP9021/24aaf92c1ab3b71c3355953fa3d21d99ec1cf80a/Quizzes/Week9/quiz_8.pdf -------------------------------------------------------------------------------- /Quizzes/Week9/quiz_8.py: -------------------------------------------------------------------------------- 1 | # Randomly fills a grid of size 10 x 10 with 0s and 1s, 2 | # in an estimated proportion of 1/2 for each, 3 | # and computes the longest leftmost path that starts 4 | # from the top left corner -- a path consisting of 5 | # horizontally or vertically adjacent 1s --, 6 | # visiting every point on the path once only. 7 | # 8 | # Written by *** and Eric Martin for COMP9021 9 | 10 | 11 | import sys 12 | from random import seed, randint 13 | 14 | from array_queue import * 15 | 16 | 17 | dim = 10 18 | grid = [[0] * dim for i in range(dim)] 19 | 20 | def display_grid(): 21 | for i in range(dim): 22 | print(' ', end = '') 23 | for j in range(dim): 24 | print(' ', grid[i][j], end = '') 25 | print() 26 | print() 27 | 28 | def findnext(my_queue,direction): 29 | nextpath=[] 30 | (row,col)=my_queue[-1] 31 | if direction==(1,0): 32 | turning=[(0,-1),(1,0),(0,1)] 33 | elif direction==(-1,0): 34 | turning=[(0,1),(-1,0),(0,-1)] 35 | elif direction==(0,1): 36 | turning=[(1,0),(0,1),(-1,0)] 37 | else: 38 | turning=[(-1,0),(0,-1),(1,0)] 39 | for (i,j) in turning: 40 | r=row+i 41 | c=col+j 42 | if r>=0 and r=0 and c1: 64 | direction=(my_queue[-1][0]-my_queue[-2][0],my_queue[-1][1]-my_queue[-2][1]) 65 | else: 66 | direction=(0,1) 67 | nextpath=findnext(my_queue,direction) 68 | for _ in range(len(nextpath)): 69 | queue.enqueue(nextpath[_]) 70 | return my_queue 71 | 72 | 73 | 74 | provided_input = input('Enter one integer: ') 75 | try: 76 | seed_arg = int(provided_input) 77 | except: 78 | print('Incorrect input, giving up.') 79 | sys.exit() 80 | 81 | seed(seed_arg) 82 | # We fill the grid with randomly generated 0s and 1s, 83 | # with for every cell, a probability of 1/2 to generate a 0. 84 | for i in range(dim): 85 | for j in range(dim): 86 | grid[i][j] = randint(0, 1) 87 | print('Here is the grid that has been generated:') 88 | display_grid() 89 | 90 | path = leftmost_longest_path_from_top_left_corner() 91 | if not path: 92 | print('There is no path from the top left corner') 93 | else: 94 | print('The leftmost longest path from the top left corner is {:}'.format(path)) 95 | 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # COMP9021 2 | 3 | 16S2 UNSW CSE 4 | Tought by Eric Martin 5 | Contains weekly quiz and assignment 1 - 3. 6 | 7 | All rights reserved. 8 | 9 | 10 | Please give me a star or a follow if this one helps you~! 11 | Thx :) 12 | >>>>>>> 5f1e4b216c91dffa3ac410489bd1b57895fb8f8a 13 | --------------------------------------------------------------------------------