From ee6e76bf2ecaa8c435688571bb2b0cbdf4beb64d Mon Sep 17 00:00:00 2001 From: IgnBys Date: Wed, 8 Nov 2023 18:48:12 +0100 Subject: [PATCH] TaskB01 ended --- TaskB00/run.py | 10 +++++++--- TaskB00/test.out | 0 TaskB00/test1.out | 9 --------- TaskB01/fsa_description.arg | 12 ++++++++++++ TaskB01/run.py | 34 ++++++++++++++++++++++++++++++++++ TaskB01/test.out | 14 ++++++++++++++ 6 files changed, 67 insertions(+), 12 deletions(-) create mode 100644 TaskB00/test.out create mode 100644 TaskB01/fsa_description.arg create mode 100644 TaskB01/run.py create mode 100644 TaskB01/test.out diff --git a/TaskB00/run.py b/TaskB00/run.py index 40d8767..3223f6f 100644 --- a/TaskB00/run.py +++ b/TaskB00/run.py @@ -8,9 +8,13 @@ def find_next_position(position, character): line = row_used_table.strip().split('\t') if position == line[0] and character == line[2]: return True,line[1] -used_table = sys.argv[1] -input_file = sys.argv[2] -output_file = sys.argv[3] + +used_table = 'fsa_description.arg' +input_file = 'test1.in' +output_file = 'test1.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: diff --git a/TaskB00/test.out b/TaskB00/test.out new file mode 100644 index 0000000..e69de29 diff --git a/TaskB00/test1.out b/TaskB00/test1.out index 4c1a9bc..e69de29 100644 --- a/TaskB00/test1.out +++ b/TaskB00/test1.out @@ -1,9 +0,0 @@ -NO -YES -NO -NO -NO -NO -NO -NO -NO diff --git a/TaskB01/fsa_description.arg b/TaskB01/fsa_description.arg new file mode 100644 index 0000000..43e83ef --- /dev/null +++ b/TaskB01/fsa_description.arg @@ -0,0 +1,12 @@ +0 1 0 +0 3 1 +3 3 0 +3 3 1 +1 3 0 +1 2 1 +2 4 1 +4 4 1 +4 5 0 +5 5 0 +2 5 0 +5 2 1 \ No newline at end of file diff --git a/TaskB01/run.py b/TaskB01/run.py new file mode 100644 index 0000000..773a91d --- /dev/null +++ b/TaskB01/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/TaskB01/test.out b/TaskB01/test.out new file mode 100644 index 0000000..484228a --- /dev/null +++ b/TaskB01/test.out @@ -0,0 +1,14 @@ +YES +NO +YES +NO +YES +NO +NO +YES +NO +NO +NO +NO +NO +NO