diff --git a/TaskB02/fsa_description.arg b/TaskB02/fsa_description.arg new file mode 100644 index 0000000..c384de7 --- /dev/null +++ b/TaskB02/fsa_description.arg @@ -0,0 +1,12 @@ +0 1 1 +0 3 0 +3 3 1 +3 3 0 +1 3 1 +1 2 0 +2 4 0 +4 4 0 +4 5 1 +5 5 1 +2 5 1 +5 2 0 \ No newline at end of file diff --git a/TaskB02/run.py b/TaskB02/run.py new file mode 100644 index 0000000..964dc24 --- /dev/null +++ b/TaskB02/run.py @@ -0,0 +1,34 @@ +import sys +def write_answer(answer): + with open(output_file, 'a') as file: + file.write(answer+'\n') +def find_next_position(position, character): + with open(used_table, 'r') as readed_used_table: + for row_used_table in readed_used_table: + line = row_used_table.strip().split(' ') + if position == line[0] and character == line[2]: + return True,line[1] + +# used_table = 'fsa_description.arg' +# input_file = 'test.in' +# output_file = 'test.out' +used_table = sys.argv[1] +input_file = sys.argv[2] +output_file = sys.argv[3] +with open(output_file, 'w') as readed_output_file: + with open(input_file, 'r') as readed_input_file: + for row_input_file in readed_input_file: + result = False + next_position = None + position = '0' + for character in row_input_file: + if character =='\n': + if position=='2': + write_answer('YES') + break + else: + write_answer('NO') + break + result, next_position = find_next_position(position,character) + if result == True: + position = next_position \ No newline at end of file diff --git a/TaskB02/test.out b/TaskB02/test.out new file mode 100644 index 0000000..939a1ca --- /dev/null +++ b/TaskB02/test.out @@ -0,0 +1,14 @@ +NO +YES +NO +YES +NO +YES +YES +NO +NO +NO +NO +NO +NO +NO