Compare commits
No commits in common. "26b4b6552e45e365ce66d4bad85475f2e9299ee3" and "0f38d2c2c28c90088d961dfaea74660b2e297daa" have entirely different histories.
26b4b6552e
...
0f38d2c2c2
@ -1,8 +0,0 @@
|
|||||||
Read a description of a deterministic finite-state automaton in the AT&T format
|
|
||||||
(without weights) from the file in the first argument.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
||||||
The program is invoked like this: ./run.py fsa_description.arg < test1.in > test1.out
|
|
@ -1,16 +0,0 @@
|
|||||||
0 1 x
|
|
||||||
1 2 y
|
|
||||||
2 3 z
|
|
||||||
0 4 y
|
|
||||||
0 4 z
|
|
||||||
1 4 x
|
|
||||||
1 4 z
|
|
||||||
2 4 x
|
|
||||||
2 4 y
|
|
||||||
3 4 x
|
|
||||||
3 4 y
|
|
||||||
3 4 z
|
|
||||||
4 4 x
|
|
||||||
4 4 y
|
|
||||||
4 4 z
|
|
||||||
3
|
|
29
run.py
29
run.py
@ -1,29 +0,0 @@
|
|||||||
import sys
|
|
||||||
def write_answer(answer):
|
|
||||||
with open('test1.out', 'a') as file:
|
|
||||||
file.write(answer+'\n')
|
|
||||||
def find_next_position(position, character):
|
|
||||||
with open('fsa_description.arg', 'r') as readed_used_table:
|
|
||||||
for row_used_table in readed_used_table:
|
|
||||||
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]
|
|
||||||
with open('test1.out', 'w') as readed_output_file:
|
|
||||||
with open('test1.in', '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=='3':
|
|
||||||
write_answer('YES')
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
write_answer('NO')
|
|
||||||
break
|
|
||||||
result, next_position = find_next_position(position,character)
|
|
||||||
if result == True:
|
|
||||||
position = next_position
|
|
Loading…
Reference in New Issue
Block a user