Compare commits
11 Commits
661237941d
...
56bcb5e4c5
Author | SHA1 | Date | |
---|---|---|---|
|
56bcb5e4c5 | ||
|
21b8220725 | ||
|
c1d39e1306 | ||
|
2b98340896 | ||
|
ce0c53d50a | ||
|
c9335bdb9f | ||
|
dcf45a1d54 | ||
|
4f03509917 | ||
|
807770dd92 | ||
|
576a05281f | ||
|
55a1a16560 |
@ -1,4 +1,4 @@
|
|||||||
сYES
|
YES
|
||||||
NO
|
NO
|
||||||
YES
|
YES
|
||||||
NO
|
NO
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
YES
|
NO
|
||||||
YES
|
YES
|
||||||
YES
|
YES
|
||||||
|
12
TaskC00/description.txt
Normal file
12
TaskC00/description.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Read a description of a non-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: python run.py test1.arg test1.in test1.out
|
||||||
|
|
||||||
|
Note that not all transitions must be included in description.
|
||||||
|
If no transition is given for the given state and letter, write NO.
|
||||||
|
|
4041
TaskC00/long.arg
Normal file
4041
TaskC00/long.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskC00/long.exp
Normal file
7
TaskC00/long.exp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
NO
|
||||||
|
NO
|
||||||
|
YES
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
7
TaskC00/long.in
Normal file
7
TaskC00/long.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
aaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
xyz
|
||||||
|
aba
|
||||||
|
a
|
3
TaskC00/long.out
Normal file
3
TaskC00/long.out
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
NO
|
||||||
|
NO
|
||||||
|
YES
|
66
TaskC00/main.py
Normal file
66
TaskC00/main.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
import sys
|
||||||
|
sys.setrecursionlimit(5000)
|
||||||
|
|
||||||
|
def write_answer(answer):
|
||||||
|
with open(output_file, 'a') as file:
|
||||||
|
file.write(answer+'\n')
|
||||||
|
|
||||||
|
# def remove_first_symbol_from_the_list():
|
||||||
|
|
||||||
|
def line_checking(row, position):
|
||||||
|
help_row = row
|
||||||
|
help_position = position
|
||||||
|
next_character_array =[]
|
||||||
|
bool_value = False
|
||||||
|
for element in row:
|
||||||
|
if element=='\n':
|
||||||
|
if position in what_is_the_ended_positions():
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
next_character_array = find_next_position(help_position, element)
|
||||||
|
if next_character_array != []:
|
||||||
|
if len(next_character_array)>1:
|
||||||
|
for element_in_next_character_array in next_character_array:
|
||||||
|
if bool_value ==True:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
bool_value =line_checking(help_row[1:], element_in_next_character_array)
|
||||||
|
else:
|
||||||
|
# remove_first_symbol_from_the_list()
|
||||||
|
help_row = help_row[1:]
|
||||||
|
bool_value = line_checking(help_row, next_character_array[0])
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
return bool_value
|
||||||
|
|
||||||
|
|
||||||
|
def find_next_position(position, character):
|
||||||
|
with open(used_table, 'r') as readed_used_table:
|
||||||
|
take_all_possible_positions = []
|
||||||
|
for row_used_table in readed_used_table:
|
||||||
|
line = row_used_table.strip().split('\t')
|
||||||
|
if len(line) != 1:
|
||||||
|
if position == line[0] and character == line[2]:
|
||||||
|
take_all_possible_positions.append(line[1])
|
||||||
|
|
||||||
|
return take_all_possible_positions
|
||||||
|
def what_is_the_ended_positions():
|
||||||
|
array = []
|
||||||
|
with open(used_table, 'r') as file:
|
||||||
|
for row in file:
|
||||||
|
line = row.strip().split('\t')
|
||||||
|
if len(line)==1:
|
||||||
|
array += line
|
||||||
|
return array
|
||||||
|
used_table = 'long.arg'
|
||||||
|
input_file = 'long.in'
|
||||||
|
output_file = 'long.out'
|
||||||
|
# what_is_the_ended_positions()
|
||||||
|
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:
|
||||||
|
if line_checking(row_input_file, '0')==True:
|
||||||
|
write_answer('YES')
|
||||||
|
else:
|
||||||
|
write_answer('NO')
|
37
TaskC00/run.py
Normal file
37
TaskC00/run.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
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:
|
||||||
|
# array_which_contain_accepted_positions = []
|
||||||
|
for row_used_table in readed_used_table:
|
||||||
|
line = row_used_table.strip().split('\t')
|
||||||
|
if len(line) != 1:
|
||||||
|
if position == line[0] and character == line[2]:
|
||||||
|
|
||||||
|
return True,line[1]
|
||||||
|
|
||||||
|
used_table = 'testnfa.arg'
|
||||||
|
input_file = 'testnfa.in'
|
||||||
|
output_file = 'testnfa.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=='3' or position =='4':
|
||||||
|
write_answer('YES')
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
write_answer('NO')
|
||||||
|
break
|
||||||
|
result, next_position = find_next_position(position,character)
|
||||||
|
if result == True:
|
||||||
|
position = next_position
|
16
TaskC00/test1.arg
Normal file
16
TaskC00/test1.arg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
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
|
9
TaskC00/test1.exp
Normal file
9
TaskC00/test1.exp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
NO
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
9
TaskC00/test1.in
Normal file
9
TaskC00/test1.in
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
xxyz
|
||||||
|
xyz
|
||||||
|
xy
|
||||||
|
zz
|
||||||
|
xxy
|
||||||
|
yzx
|
||||||
|
|
||||||
|
x
|
||||||
|
xyzz
|
9
TaskC00/test1.out
Normal file
9
TaskC00/test1.out
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
NO
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
7
TaskC00/testnfa.arg
Normal file
7
TaskC00/testnfa.arg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
0 1 a
|
||||||
|
1 0 a
|
||||||
|
1 2 b
|
||||||
|
2 4 c
|
||||||
|
1 3 b
|
||||||
|
3
|
||||||
|
4
|
8
TaskC00/testnfa.exp
Normal file
8
TaskC00/testnfa.exp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
YES
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
YES
|
8
TaskC00/testnfa.in
Normal file
8
TaskC00/testnfa.in
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
abc
|
||||||
|
ab
|
||||||
|
abcd
|
||||||
|
aaaabc
|
||||||
|
aaaaaaaabc
|
||||||
|
aaaaaaabc
|
||||||
|
zzz
|
||||||
|
aaaaaaabc
|
8
TaskC00/testnfa.out
Normal file
8
TaskC00/testnfa.out
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Yes
|
||||||
|
Yes
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
Yes
|
||||||
|
NO
|
||||||
|
Yes
|
11
TaskC01/description.txt
Normal file
11
TaskC01/description.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Use a non deterministic finite-state automaton (FSA) engine from the TaskC00.
|
||||||
|
Create your own non deterministic FSA description to check whether the string second letter
|
||||||
|
from right is 'b'.
|
||||||
|
Don't use external files like in TaskF00 (description should be included in run file).
|
||||||
|
|
||||||
|
The alphabet is "a", "b", "C"
|
||||||
|
|
||||||
|
Read strings from the standard input.
|
||||||
|
If a string is accepted by the
|
||||||
|
automaton, write YES, otherwise- write NO.
|
||||||
|
|
6
TaskC01/test.exp
Normal file
6
TaskC01/test.exp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
YES
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
YES
|
6
TaskC01/test.in
Normal file
6
TaskC01/test.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
abc
|
||||||
|
abbc
|
||||||
|
bca
|
||||||
|
b
|
||||||
|
abaa
|
||||||
|
aaacbb
|
11
TaskC02/description.txt
Normal file
11
TaskC02/description.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Use a non deterministic finite-state automaton (FSA) engine from the TaskC00.
|
||||||
|
Create your own non deterministic FSA description to check whether the string
|
||||||
|
ends with "ab"
|
||||||
|
Don't use external files like in TaskF00 (description should be included in run file).
|
||||||
|
|
||||||
|
The alphabet is "a", "b", "C"
|
||||||
|
|
||||||
|
Read strings from the standard input.
|
||||||
|
If a string is accepted by the
|
||||||
|
automaton, write YES, otherwise- write NO.
|
||||||
|
|
6
TaskC02/test.exp
Normal file
6
TaskC02/test.exp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
YES
|
||||||
|
NO
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
YES
|
||||||
|
NO
|
6
TaskC02/test.in
Normal file
6
TaskC02/test.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
ab
|
||||||
|
a
|
||||||
|
abbab
|
||||||
|
bbbbb
|
||||||
|
ababaab
|
||||||
|
b
|
10
TaskC03/description.txt
Normal file
10
TaskC03/description.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Use a non deterministic finite-state automaton (FSA) engine from the TaskC00.
|
||||||
|
Create your own non deterministic FSA description to check whether the string
|
||||||
|
contains "abc"
|
||||||
|
Don't use external files like in TaskF00 (description should be included in run file).
|
||||||
|
|
||||||
|
The alphabet is "a", "b", "c"
|
||||||
|
|
||||||
|
Read strings from the standard input.
|
||||||
|
If a string is accepted by the
|
||||||
|
automaton, write YES, otherwise- write NO.
|
7
TaskC03/test.exp
Normal file
7
TaskC03/test.exp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
YES
|
||||||
|
YES
|
||||||
|
YES
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
||||||
|
NO
|
7
TaskC03/test.in
Normal file
7
TaskC03/test.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
abc
|
||||||
|
acabc
|
||||||
|
acabccb
|
||||||
|
abbab
|
||||||
|
bbbbb
|
||||||
|
ababaab
|
||||||
|
bc
|
22
TaskC04/description.txt
Normal file
22
TaskC04/description.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Deterministic automaton III
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Read a description of a finite-state automaton in the AT&T format
|
||||||
|
(without weights) from the file in the first argument. Then, read strings from the
|
||||||
|
standard input. If a string is
|
||||||
|
accepted by the automated, write YES, a space and the string on the
|
||||||
|
standard output, otherwise — write NO, a space and the string.
|
||||||
|
|
||||||
|
If there is a non-determinism in the automaton, the first transition should be chosen.
|
||||||
|
|
||||||
|
The automaton can contain epsilon transitions ("<eps>" instead of a
|
||||||
|
character). They should be interpreted as follows: an epsilon
|
||||||
|
transition can be used (without "eating" a character from the input),
|
||||||
|
if there is no other transition applicable. You can assume that there
|
||||||
|
is at most one epsilon transition from a given state and that there
|
||||||
|
are no cycles with epsilon transition.
|
||||||
|
|
||||||
|
Your program does not have to check whether the description is correct
|
||||||
|
and whether the automaton is deterministic. You can assume that the
|
||||||
|
automaton does not contain epsilon transitions.
|
||||||
|
|
8
TaskC04/eps.arg
Normal file
8
TaskC04/eps.arg
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
0 1 a
|
||||||
|
1 0 a
|
||||||
|
1 2 b
|
||||||
|
2 4 c
|
||||||
|
1 3 <eps>
|
||||||
|
3 4 d
|
||||||
|
3
|
||||||
|
4
|
10
TaskC04/eps.exp
Normal file
10
TaskC04/eps.exp
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
TRUE a
|
||||||
|
FALSE aa
|
||||||
|
TRUE aaa
|
||||||
|
TRUE abc
|
||||||
|
TRUE aaabc
|
||||||
|
FALSE aaabcd
|
||||||
|
FALSE aabc
|
||||||
|
FALSE abd
|
||||||
|
TRUE ad
|
||||||
|
FALSE aad
|
10
TaskC04/eps.in
Normal file
10
TaskC04/eps.in
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
a
|
||||||
|
aa
|
||||||
|
aaa
|
||||||
|
abc
|
||||||
|
aaabc
|
||||||
|
aaabcd
|
||||||
|
aabc
|
||||||
|
abd
|
||||||
|
ad
|
||||||
|
aad
|
4041
TaskC04/long.arg
Normal file
4041
TaskC04/long.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskC04/long.exp
Normal file
7
TaskC04/long.exp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FALSE aaa
|
||||||
|
FALSE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
TRUE aaaa
|
||||||
|
TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
FALSE xyz
|
||||||
|
FALSE aba
|
||||||
|
FALSE a
|
7
TaskC04/long.in
Normal file
7
TaskC04/long.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
aaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
aaaa
|
||||||
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
xyz
|
||||||
|
aba
|
||||||
|
a
|
5
TaskC04/simple1.arg
Normal file
5
TaskC04/simple1.arg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# prosty automat akceptujący tylko napis "abc"
|
||||||
|
0 1 a
|
||||||
|
1 2 b
|
||||||
|
2 3 c
|
||||||
|
3
|
8
TaskC04/simple1.exp
Normal file
8
TaskC04/simple1.exp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
FALSE a
|
||||||
|
FALSE ab
|
||||||
|
TRUE abc
|
||||||
|
FALSE abcd
|
||||||
|
FALSE aaaaab
|
||||||
|
TRUE abc
|
||||||
|
FALSE xyz
|
||||||
|
FALSE 0
|
8
TaskC04/simple1.in
Normal file
8
TaskC04/simple1.in
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
a
|
||||||
|
ab
|
||||||
|
abc
|
||||||
|
abcd
|
||||||
|
aaaaab
|
||||||
|
abc
|
||||||
|
xyz
|
||||||
|
0
|
9
TaskC04/simple2.arg
Normal file
9
TaskC04/simple2.arg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# automat akceptujący napis "ab*c" (b powielony dowolną liczbę razy) i "kot"
|
||||||
|
0 1 a
|
||||||
|
1 1 b
|
||||||
|
1 2 c
|
||||||
|
0 3 k
|
||||||
|
3 4 o
|
||||||
|
4 5 t
|
||||||
|
2
|
||||||
|
5
|
9
TaskC04/simple2.exp
Normal file
9
TaskC04/simple2.exp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
TRUE kot
|
||||||
|
TRUE ac
|
||||||
|
TRUE abc
|
||||||
|
TRUE abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
|
||||||
|
FALSE abcd
|
||||||
|
FALSE abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccc
|
||||||
|
FALSE kotek
|
||||||
|
FALSE kotabc
|
||||||
|
TRUE kot
|
9
TaskC04/simple2.in
Normal file
9
TaskC04/simple2.in
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
kot
|
||||||
|
ac
|
||||||
|
abc
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
|
||||||
|
abcd
|
||||||
|
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccc
|
||||||
|
kotek
|
||||||
|
kotabc
|
||||||
|
kot
|
49
TaskC05/description.txt
Normal file
49
TaskC05/description.txt
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
Dictionary
|
||||||
|
==========
|
||||||
|
|
||||||
|
Your program should read a finite-state automaton from file in the first argument.
|
||||||
|
The automaton is deterministic, you can assume it does not contain
|
||||||
|
cycles.
|
||||||
|
|
||||||
|
Each automaton path is labeled with a symbol sequence of the following form:
|
||||||
|
|
||||||
|
<input word>;<description>
|
||||||
|
|
||||||
|
e.g.:
|
||||||
|
|
||||||
|
biały;ADJ
|
||||||
|
dom;N
|
||||||
|
piła;N
|
||||||
|
piła;V
|
||||||
|
stali;N
|
||||||
|
stali;V
|
||||||
|
stali;ADJ
|
||||||
|
|
||||||
|
Next you should read words from the standard input.
|
||||||
|
For each word, you should all automaton
|
||||||
|
paths that begin a given word, the following symbol is ';'
|
||||||
|
(semicolon), e.g. for the word 'dom' we are looking for paths
|
||||||
|
beginning with 'dom;'. If there is no such path, the following message
|
||||||
|
should be printed:
|
||||||
|
|
||||||
|
<input word>;OOV
|
||||||
|
|
||||||
|
For instance, for the automaton given above and the input:
|
||||||
|
|
||||||
|
budynek
|
||||||
|
dom
|
||||||
|
piła
|
||||||
|
|
||||||
|
we should get:
|
||||||
|
|
||||||
|
budynek;OOV
|
||||||
|
dom;N
|
||||||
|
piła;N
|
||||||
|
piła;V
|
||||||
|
|
||||||
|
If there is more than one path for a given word, they should be given in alphabetical order.
|
||||||
|
|
||||||
|
The program does not have to check whether the automaton is correct
|
||||||
|
and whether it is deterministic and does not contain cycles.
|
||||||
|
|
||||||
|
|
31
TaskC05/elem.arg
Normal file
31
TaskC05/elem.arg
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
0 1 b
|
||||||
|
0 2 d
|
||||||
|
0 3 p
|
||||||
|
0 4 s
|
||||||
|
1 5 i
|
||||||
|
2 6 o
|
||||||
|
3 7 i
|
||||||
|
4 8 t
|
||||||
|
5 9 a
|
||||||
|
6 10 m
|
||||||
|
7 11 ł
|
||||||
|
8 12 a
|
||||||
|
9 13 ł
|
||||||
|
10 14 ;
|
||||||
|
11 15 a
|
||||||
|
12 16 l
|
||||||
|
13 17 y
|
||||||
|
14 24 N
|
||||||
|
15 18 ;
|
||||||
|
16 19 i
|
||||||
|
17 20 ;
|
||||||
|
18 24 N
|
||||||
|
18 24 V
|
||||||
|
19 21 ;
|
||||||
|
20 22 A
|
||||||
|
21 22 A
|
||||||
|
21 24 N
|
||||||
|
21 24 V
|
||||||
|
22 23 D
|
||||||
|
23 24 J
|
||||||
|
24
|
1
TaskC05/elem.exp
Normal file
1
TaskC05/elem.exp
Normal file
@ -0,0 +1 @@
|
|||||||
|
dom;N
|
1
TaskC05/elem.in
Normal file
1
TaskC05/elem.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
dom
|
15125
TaskC05/medium.arg
Normal file
15125
TaskC05/medium.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskC05/medium.exp
Normal file
7
TaskC05/medium.exp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
arbuz;N
|
||||||
|
arbuza;N
|
||||||
|
arbuzowi;ADJ
|
||||||
|
arbuzowi;N
|
||||||
|
azylant;N
|
||||||
|
azylanci;N
|
||||||
|
azylantowie;OOV
|
6
TaskC05/medium.in
Normal file
6
TaskC05/medium.in
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
arbuz
|
||||||
|
arbuza
|
||||||
|
arbuzowi
|
||||||
|
azylant
|
||||||
|
azylanci
|
||||||
|
azylantowie
|
31
TaskC05/multi.arg
Normal file
31
TaskC05/multi.arg
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
0 1 b
|
||||||
|
0 2 d
|
||||||
|
0 3 p
|
||||||
|
0 4 s
|
||||||
|
1 5 i
|
||||||
|
2 6 o
|
||||||
|
3 7 i
|
||||||
|
4 8 t
|
||||||
|
5 9 a
|
||||||
|
6 10 m
|
||||||
|
7 11 ł
|
||||||
|
8 12 a
|
||||||
|
9 13 ł
|
||||||
|
10 14 ;
|
||||||
|
11 15 a
|
||||||
|
12 16 l
|
||||||
|
13 17 y
|
||||||
|
14 24 N
|
||||||
|
15 18 ;
|
||||||
|
16 19 i
|
||||||
|
17 20 ;
|
||||||
|
18 24 N
|
||||||
|
18 24 V
|
||||||
|
19 21 ;
|
||||||
|
20 22 A
|
||||||
|
21 22 A
|
||||||
|
21 24 N
|
||||||
|
21 24 V
|
||||||
|
22 23 D
|
||||||
|
23 24 J
|
||||||
|
24
|
2
TaskC05/multi.exp
Normal file
2
TaskC05/multi.exp
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
piła;N
|
||||||
|
piła;V
|
1
TaskC05/multi.in
Normal file
1
TaskC05/multi.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
piła
|
31
TaskC05/oov.arg
Normal file
31
TaskC05/oov.arg
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
0 1 b
|
||||||
|
0 2 d
|
||||||
|
0 3 p
|
||||||
|
0 4 s
|
||||||
|
1 5 i
|
||||||
|
2 6 o
|
||||||
|
3 7 i
|
||||||
|
4 8 t
|
||||||
|
5 9 a
|
||||||
|
6 10 m
|
||||||
|
7 11 ł
|
||||||
|
8 12 a
|
||||||
|
9 13 ł
|
||||||
|
10 14 ;
|
||||||
|
11 15 a
|
||||||
|
12 16 l
|
||||||
|
13 17 y
|
||||||
|
14 24 N
|
||||||
|
15 18 ;
|
||||||
|
16 19 i
|
||||||
|
17 20 ;
|
||||||
|
18 24 N
|
||||||
|
18 24 V
|
||||||
|
19 21 ;
|
||||||
|
20 22 A
|
||||||
|
21 22 A
|
||||||
|
21 24 N
|
||||||
|
21 24 V
|
||||||
|
22 23 D
|
||||||
|
23 24 J
|
||||||
|
24
|
1
TaskC05/oov.exp
Normal file
1
TaskC05/oov.exp
Normal file
@ -0,0 +1 @@
|
|||||||
|
budynek;OOV
|
1
TaskC05/oov.in
Normal file
1
TaskC05/oov.in
Normal file
@ -0,0 +1 @@
|
|||||||
|
budynek
|
21
TaskC06/description.txt
Normal file
21
TaskC06/description.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Paths
|
||||||
|
======
|
||||||
|
|
||||||
|
Your program should read a finite-state automaton from
|
||||||
|
the standard input.
|
||||||
|
The automaton is deterministic, you can assume it does not contain
|
||||||
|
cycles. The automaton alphabet is the set of Polish lower-case letters
|
||||||
|
(English letters plus: ą, ć, ę, ł, ń, ó, ś, ź and ż).
|
||||||
|
|
||||||
|
Your program should print, on standard output, all the paths of the
|
||||||
|
automaton in alphabetical order (to be precise: order induced by byte
|
||||||
|
codes of strings, not according to the standard Polish order). "Print
|
||||||
|
a path" means print a text line containing all subsequent characters.
|
||||||
|
|
||||||
|
The program does not have to check whether the automaton is correct
|
||||||
|
and whether it is deterministic and does not contain cycles.
|
||||||
|
|
||||||
|
Weights (if any) should be disregarded.
|
||||||
|
|
||||||
|
NOTE 1. You can add `LANG=C sort` to your Bash wrapper for the write sort.
|
||||||
|
|
50648
TaskC06/medium.exp
Normal file
50648
TaskC06/medium.exp
Normal file
File diff suppressed because it is too large
Load Diff
14774
TaskC06/medium.in
Normal file
14774
TaskC06/medium.in
Normal file
File diff suppressed because it is too large
Load Diff
1
TaskC06/medium2.exp
Normal file
1
TaskC06/medium2.exp
Normal file
@ -0,0 +1 @@
|
|||||||
|
a
|
13989
TaskC06/medium2.in
Normal file
13989
TaskC06/medium2.in
Normal file
File diff suppressed because it is too large
Load Diff
4
TaskC06/small.exp
Normal file
4
TaskC06/small.exp
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
biały
|
||||||
|
dom
|
||||||
|
piła
|
||||||
|
stali
|
18
TaskC06/small.in
Normal file
18
TaskC06/small.in
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
0 1 b
|
||||||
|
0 2 d
|
||||||
|
0 3 p
|
||||||
|
0 4 s
|
||||||
|
1 5 i
|
||||||
|
2 6 o
|
||||||
|
3 7 i
|
||||||
|
4 8 t
|
||||||
|
5 9 a
|
||||||
|
6 14 m
|
||||||
|
7 10 ł
|
||||||
|
8 11 a
|
||||||
|
9 12 ł
|
||||||
|
10 14 a
|
||||||
|
11 13 l
|
||||||
|
12 14 y
|
||||||
|
13 14 i
|
||||||
|
14
|
3
TaskC06/small2.exp
Normal file
3
TaskC06/small2.exp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
biały
|
||||||
|
piła
|
||||||
|
stali
|
18
TaskC06/small2.in
Normal file
18
TaskC06/small2.in
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
0 1 b
|
||||||
|
0 2 d
|
||||||
|
0 3 p
|
||||||
|
0 4 s
|
||||||
|
1 5 i
|
||||||
|
2 6 o
|
||||||
|
3 7 i
|
||||||
|
4 8 t
|
||||||
|
5 9 a
|
||||||
|
6 15 m
|
||||||
|
7 10 ł
|
||||||
|
8 11 a
|
||||||
|
9 12 ł
|
||||||
|
10 14 a
|
||||||
|
11 13 l
|
||||||
|
12 14 y
|
||||||
|
13 14 i
|
||||||
|
14
|
Loading…
Reference in New Issue
Block a user