zadania zestaw 2
This commit is contained in:
parent
3b17708166
commit
977e2c8738
12
TaskB02/fsa_description.arg
Normal file
12
TaskB02/fsa_description.arg
Normal file
@ -0,0 +1,12 @@
|
||||
0 1 1
|
||||
0 3 0
|
||||
3 3 0
|
||||
3 3 1
|
||||
1 3 1
|
||||
1 2 0
|
||||
2 4 0
|
||||
4 4 0
|
||||
4 5 1
|
||||
5 5 1
|
||||
2 5 1
|
||||
5 2 0
|
27
TaskB02/run.py
Normal file
27
TaskB02/run.py
Normal file
@ -0,0 +1,27 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 2
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split(' ')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
BIN
TaskB02/test.exp
BIN
TaskB02/test.exp
Binary file not shown.
4
TaskB03/fsa_description.arg
Normal file
4
TaskB03/fsa_description.arg
Normal file
@ -0,0 +1,4 @@
|
||||
0 0 1
|
||||
0 1 0
|
||||
1 1 1
|
||||
1 0 0
|
27
TaskB03/run.py
Normal file
27
TaskB03/run.py
Normal file
@ -0,0 +1,27 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 0
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split(' ')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
BIN
TaskB03/test.exp
BIN
TaskB03/test.exp
Binary file not shown.
4
TaskB04/fsa_description.arg
Normal file
4
TaskB04/fsa_description.arg
Normal file
@ -0,0 +1,4 @@
|
||||
0 0 1
|
||||
0 1 0
|
||||
1 1 1
|
||||
1 0 0
|
27
TaskB04/run.py
Normal file
27
TaskB04/run.py
Normal file
@ -0,0 +1,27 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 1
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split(' ')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
BIN
TaskB04/test.exp
BIN
TaskB04/test.exp
Binary file not shown.
55
TaskB05/fsa_description.arg
Normal file
55
TaskB05/fsa_description.arg
Normal file
@ -0,0 +1,55 @@
|
||||
0 1 1
|
||||
0 0 0
|
||||
0 0 2
|
||||
0 0 3
|
||||
0 0 4
|
||||
0 0 5
|
||||
0 0 6
|
||||
0 0 7
|
||||
0 0 8
|
||||
0 0 9
|
||||
0 0 x
|
||||
1 1 1
|
||||
1 2 9
|
||||
1 0 0
|
||||
1 0 2
|
||||
1 0 3
|
||||
1 0 4
|
||||
1 0 5
|
||||
1 0 6
|
||||
1 0 7
|
||||
1 0 8
|
||||
1 0 x
|
||||
2 3 0
|
||||
2 3 1
|
||||
2 3 2
|
||||
2 3 3
|
||||
2 3 4
|
||||
2 3 5
|
||||
2 3 6
|
||||
2 3 7
|
||||
2 3 8
|
||||
2 3 9
|
||||
2 0 x
|
||||
3 4 0
|
||||
3 4 1
|
||||
3 4 2
|
||||
3 4 3
|
||||
3 4 4
|
||||
3 4 5
|
||||
3 4 6
|
||||
3 4 7
|
||||
3 4 8
|
||||
3 4 9
|
||||
3 0 x
|
||||
4 4 x
|
||||
4 4 0
|
||||
4 4 1
|
||||
4 4 2
|
||||
4 4 3
|
||||
4 4 4
|
||||
4 4 5
|
||||
4 4 6
|
||||
4 4 7
|
||||
4 4 8
|
||||
4 4 9
|
27
TaskB05/run.py
Normal file
27
TaskB05/run.py
Normal file
@ -0,0 +1,27 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 4
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split(' ')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
BIN
TaskB05/test.exp
Normal file
BIN
TaskB05/test.exp
Normal file
Binary file not shown.
189
TaskB06/fsa_description.arg
Normal file
189
TaskB06/fsa_description.arg
Normal file
@ -0,0 +1,189 @@
|
||||
0-0-
|
||||
1-0-
|
||||
2-0-
|
||||
3-0-
|
||||
4-0-
|
||||
5-0-
|
||||
6-6-
|
||||
0-1-h
|
||||
0-0-a
|
||||
0-0-b
|
||||
0-0-c
|
||||
0-0-d
|
||||
0-0-e
|
||||
0-0-f
|
||||
0-0-g
|
||||
0-0-i
|
||||
0-0-j
|
||||
0-0-k
|
||||
0-0-l
|
||||
0-0-m
|
||||
0-0-n
|
||||
0-0-o
|
||||
0-0-p
|
||||
0-0-q
|
||||
0-0-r
|
||||
0-0-s
|
||||
0-0-t
|
||||
0-0-u
|
||||
0-0-v
|
||||
0-0-w
|
||||
0-0-x
|
||||
0-0-y
|
||||
0-0-z
|
||||
1-1-h
|
||||
1-2-a
|
||||
1-0-b
|
||||
1-0-c
|
||||
1-0-d
|
||||
1-0-e
|
||||
1-0-f
|
||||
1-0-g
|
||||
1-0-i
|
||||
1-0-j
|
||||
1-0-k
|
||||
1-0-l
|
||||
1-0-m
|
||||
1-0-n
|
||||
1-0-o
|
||||
1-0-p
|
||||
1-0-q
|
||||
1-0-r
|
||||
1-0-s
|
||||
1-0-t
|
||||
1-0-u
|
||||
1-0-v
|
||||
1-0-w
|
||||
1-0-x
|
||||
1-0-y
|
||||
1-0-z
|
||||
2-3-m
|
||||
2-0-a
|
||||
2-0-b
|
||||
2-0-c
|
||||
2-0-d
|
||||
2-0-e
|
||||
2-0-f
|
||||
2-0-g
|
||||
2-0-h
|
||||
2-0-i
|
||||
2-0-j
|
||||
2-0-k
|
||||
2-0-l
|
||||
2-0-n
|
||||
2-0-o
|
||||
2-0-p
|
||||
2-0-q
|
||||
2-0-r
|
||||
2-0-s
|
||||
2-0-t
|
||||
2-0-u
|
||||
2-0-v
|
||||
2-0-w
|
||||
2-0-x
|
||||
2-0-y
|
||||
2-0-z
|
||||
3-4-l
|
||||
3-0-a
|
||||
3-0-b
|
||||
3-0-c
|
||||
3-0-d
|
||||
3-0-e
|
||||
3-0-f
|
||||
3-0-g
|
||||
3-0-h
|
||||
3-0-i
|
||||
3-0-j
|
||||
3-0-k
|
||||
3-0-m
|
||||
3-0-n
|
||||
3-0-o
|
||||
3-0-p
|
||||
3-0-q
|
||||
3-0-r
|
||||
3-0-s
|
||||
3-0-t
|
||||
3-0-u
|
||||
3-0-v
|
||||
3-0-w
|
||||
3-0-x
|
||||
3-0-y
|
||||
3-0-z
|
||||
4-5-e
|
||||
4-0-a
|
||||
4-0-b
|
||||
4-0-c
|
||||
4-0-d
|
||||
4-0-f
|
||||
4-0-g
|
||||
4-0-h
|
||||
4-0-i
|
||||
4-0-j
|
||||
4-0-k
|
||||
4-0-l
|
||||
4-0-m
|
||||
4-0-n
|
||||
4-0-o
|
||||
4-0-p
|
||||
4-0-q
|
||||
4-0-r
|
||||
4-0-s
|
||||
4-0-t
|
||||
4-0-u
|
||||
4-0-v
|
||||
4-0-w
|
||||
4-0-x
|
||||
4-0-y
|
||||
4-0-z
|
||||
5-6-t
|
||||
5-0-a
|
||||
5-0-b
|
||||
5-0-c
|
||||
5-0-d
|
||||
5-0-e
|
||||
5-0-f
|
||||
5-0-g
|
||||
5-0-h
|
||||
5-0-i
|
||||
5-0-j
|
||||
5-0-k
|
||||
5-0-l
|
||||
5-0-m
|
||||
5-0-n
|
||||
5-0-o
|
||||
5-0-p
|
||||
5-0-q
|
||||
5-0-r
|
||||
5-0-s
|
||||
5-0-u
|
||||
5-0-v
|
||||
5-0-w
|
||||
5-0-x
|
||||
5-0-y
|
||||
5-0-z
|
||||
6-6-a
|
||||
6-6-b
|
||||
6-6-c
|
||||
6-6-d
|
||||
6-6-e
|
||||
6-6-f
|
||||
6-6-g
|
||||
6-6-h
|
||||
6-6-i
|
||||
6-6-j
|
||||
6-6-k
|
||||
6-6-l
|
||||
6-6-m
|
||||
6-6-n
|
||||
6-6-o
|
||||
6-6-p
|
||||
6-6-q
|
||||
6-6-r
|
||||
6-6-s
|
||||
6-6-t
|
||||
6-6-u
|
||||
6-6-v
|
||||
6-6-w
|
||||
6-6-x
|
||||
6-6-y
|
||||
6-6-z
|
32
TaskB06/run.py
Normal file
32
TaskB06/run.py
Normal file
@ -0,0 +1,32 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if symbol == ' ':
|
||||
# If the current state is 6, stay in 6, otherwise transition to state 0
|
||||
# PROGRAM NIE CHCE CZYTAĆ SPACJI JAKO ZNAK W PLIKU, ZAPISUJE JĄ JAKO PUSTY ZNAK
|
||||
if current_state != 6:
|
||||
current_state = 0
|
||||
elif (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 6
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split('-')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
@ -1,3 +1,4 @@
|
||||
haml
|
||||
hamlet
|
||||
aaahamletbbb
|
||||
sad hamlet asdasd
|
||||
|
BIN
TaskB06/test.exp
Normal file
BIN
TaskB06/test.exp
Normal file
Binary file not shown.
216
TaskB07/fsa_description.arg
Normal file
216
TaskB07/fsa_description.arg
Normal file
@ -0,0 +1,216 @@
|
||||
0-0-
|
||||
1-0-
|
||||
2-0-
|
||||
3-0-
|
||||
4-0-
|
||||
5-0-
|
||||
6-0-
|
||||
7-7-
|
||||
0-1-o
|
||||
0-0-a
|
||||
0-0-b
|
||||
0-0-c
|
||||
0-0-d
|
||||
0-0-e
|
||||
0-0-f
|
||||
0-0-g
|
||||
0-0-i
|
||||
0-0-j
|
||||
0-0-k
|
||||
0-0-l
|
||||
0-0-m
|
||||
0-0-n
|
||||
0-0-h
|
||||
0-0-p
|
||||
0-0-q
|
||||
0-0-r
|
||||
0-0-s
|
||||
0-0-t
|
||||
0-0-u
|
||||
0-0-v
|
||||
0-0-w
|
||||
0-0-x
|
||||
0-0-y
|
||||
0-0-z
|
||||
1-1-o
|
||||
1-2-p
|
||||
1-0-b
|
||||
1-0-c
|
||||
1-0-d
|
||||
1-0-e
|
||||
1-0-f
|
||||
1-0-g
|
||||
1-0-i
|
||||
1-0-j
|
||||
1-0-k
|
||||
1-0-l
|
||||
1-0-m
|
||||
1-0-n
|
||||
1-0-h
|
||||
1-0-a
|
||||
1-0-q
|
||||
1-0-r
|
||||
1-0-s
|
||||
1-0-t
|
||||
1-0-u
|
||||
1-0-v
|
||||
1-0-w
|
||||
1-0-x
|
||||
1-0-y
|
||||
1-0-z
|
||||
2-3-h
|
||||
2-0-a
|
||||
2-0-b
|
||||
2-0-c
|
||||
2-0-d
|
||||
2-0-e
|
||||
2-0-f
|
||||
2-0-g
|
||||
2-0-m
|
||||
2-0-i
|
||||
2-0-j
|
||||
2-0-k
|
||||
2-0-l
|
||||
2-0-n
|
||||
2-0-o
|
||||
2-0-p
|
||||
2-0-q
|
||||
2-0-r
|
||||
2-0-s
|
||||
2-0-t
|
||||
2-0-u
|
||||
2-0-v
|
||||
2-0-w
|
||||
2-0-x
|
||||
2-0-y
|
||||
2-0-z
|
||||
3-4-e
|
||||
3-0-a
|
||||
3-0-b
|
||||
3-0-c
|
||||
3-0-d
|
||||
3-0-l
|
||||
3-0-f
|
||||
3-0-g
|
||||
3-0-h
|
||||
3-0-i
|
||||
3-0-j
|
||||
3-0-k
|
||||
3-0-m
|
||||
3-0-n
|
||||
3-0-o
|
||||
3-0-p
|
||||
3-0-q
|
||||
3-0-r
|
||||
3-0-s
|
||||
3-0-t
|
||||
3-0-u
|
||||
3-0-v
|
||||
3-0-w
|
||||
3-0-x
|
||||
3-0-y
|
||||
3-0-z
|
||||
4-5-l
|
||||
4-0-a
|
||||
4-0-b
|
||||
4-0-c
|
||||
4-0-d
|
||||
4-0-f
|
||||
4-0-g
|
||||
4-0-h
|
||||
4-0-i
|
||||
4-0-j
|
||||
4-0-k
|
||||
4-0-e
|
||||
4-0-m
|
||||
4-0-n
|
||||
4-0-o
|
||||
4-0-p
|
||||
4-0-q
|
||||
4-0-r
|
||||
4-0-s
|
||||
4-0-t
|
||||
4-0-u
|
||||
4-0-v
|
||||
4-0-w
|
||||
4-0-x
|
||||
4-0-y
|
||||
4-0-z
|
||||
5-6-i
|
||||
5-0-a
|
||||
5-0-b
|
||||
5-0-c
|
||||
5-0-d
|
||||
5-0-e
|
||||
5-0-f
|
||||
5-0-g
|
||||
5-0-h
|
||||
5-0-t
|
||||
5-0-j
|
||||
5-0-k
|
||||
5-0-l
|
||||
5-0-m
|
||||
5-0-n
|
||||
5-0-o
|
||||
5-0-p
|
||||
5-0-q
|
||||
5-0-r
|
||||
5-0-s
|
||||
5-0-u
|
||||
5-0-v
|
||||
5-0-w
|
||||
5-0-x
|
||||
5-0-y
|
||||
5-0-z
|
||||
6-7-a
|
||||
6-0-b
|
||||
6-0-c
|
||||
6-0-d
|
||||
6-0-e
|
||||
6-0-f
|
||||
6-0-g
|
||||
6-0-h
|
||||
6-0-i
|
||||
6-0-j
|
||||
6-0-k
|
||||
6-0-l
|
||||
6-0-m
|
||||
6-0-n
|
||||
6-0-o
|
||||
6-0-p
|
||||
6-0-q
|
||||
6-0-r
|
||||
6-0-s
|
||||
6-0-t
|
||||
6-0-u
|
||||
6-0-v
|
||||
6-0-w
|
||||
6-0-x
|
||||
6-0-y
|
||||
6-0-z
|
||||
7-7-a
|
||||
7-7-b
|
||||
7-7-c
|
||||
7-7-d
|
||||
7-7-e
|
||||
7-7-f
|
||||
7-7-g
|
||||
7-7-h
|
||||
7-7-i
|
||||
7-7-j
|
||||
7-7-k
|
||||
7-7-l
|
||||
7-7-m
|
||||
7-7-n
|
||||
7-7-o
|
||||
7-7-p
|
||||
7-7-q
|
||||
7-7-r
|
||||
7-7-s
|
||||
7-7-t
|
||||
7-7-u
|
||||
7-7-v
|
||||
7-7-w
|
||||
7-7-x
|
||||
7-7-y
|
||||
7-7-z
|
32
TaskB07/run.py
Normal file
32
TaskB07/run.py
Normal file
@ -0,0 +1,32 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if symbol == ' ':
|
||||
# If the current state is 7, stay in 7, otherwise transition to state 0
|
||||
# PROGRAM NIE CHCE CZYTAĆ SPACJI JAKO ZNAK W PLIKU, ZAPISUJE JĄ JAKO PUSTY ZNAK
|
||||
if current_state != 7:
|
||||
current_state = 0
|
||||
elif (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 7
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split('-')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
169442
TaskB07/shakespeare_ascii_lower.in
Normal file
169442
TaskB07/shakespeare_ascii_lower.in
Normal file
File diff suppressed because it is too large
Load Diff
BIN
TaskB07/test.exp
Normal file
BIN
TaskB07/test.exp
Normal file
Binary file not shown.
189
TaskB08/fsa_description.arg
Normal file
189
TaskB08/fsa_description.arg
Normal file
@ -0,0 +1,189 @@
|
||||
0-0-
|
||||
1-0-
|
||||
2-0-
|
||||
3-0-
|
||||
4-0-
|
||||
5-0-
|
||||
6-6-
|
||||
0-1-j
|
||||
0-0-a
|
||||
0-0-b
|
||||
0-0-c
|
||||
0-0-d
|
||||
0-0-e
|
||||
0-0-f
|
||||
0-0-g
|
||||
0-0-i
|
||||
0-0-h
|
||||
0-0-k
|
||||
0-0-l
|
||||
0-0-m
|
||||
0-0-n
|
||||
0-0-o
|
||||
0-0-p
|
||||
0-0-q
|
||||
0-0-r
|
||||
0-0-s
|
||||
0-0-t
|
||||
0-0-u
|
||||
0-0-v
|
||||
0-0-w
|
||||
0-0-x
|
||||
0-0-y
|
||||
0-0-z
|
||||
1-1-j
|
||||
1-2-u
|
||||
1-0-b
|
||||
1-0-c
|
||||
1-0-d
|
||||
1-0-e
|
||||
1-0-f
|
||||
1-0-g
|
||||
1-0-i
|
||||
1-0-j
|
||||
1-0-k
|
||||
1-0-l
|
||||
1-0-m
|
||||
1-0-n
|
||||
1-0-o
|
||||
1-0-p
|
||||
1-0-q
|
||||
1-0-r
|
||||
1-0-s
|
||||
1-0-t
|
||||
1-0-a
|
||||
1-0-v
|
||||
1-0-w
|
||||
1-0-x
|
||||
1-0-y
|
||||
1-0-z
|
||||
2-3-l
|
||||
2-0-a
|
||||
2-0-b
|
||||
2-0-c
|
||||
2-0-d
|
||||
2-0-e
|
||||
2-0-f
|
||||
2-0-g
|
||||
2-0-h
|
||||
2-0-i
|
||||
2-0-j
|
||||
2-0-k
|
||||
2-0-m
|
||||
2-0-n
|
||||
2-0-o
|
||||
2-0-p
|
||||
2-0-q
|
||||
2-0-r
|
||||
2-0-s
|
||||
2-0-t
|
||||
2-0-u
|
||||
2-0-v
|
||||
2-0-w
|
||||
2-0-x
|
||||
2-0-y
|
||||
2-0-z
|
||||
3-4-i
|
||||
3-0-a
|
||||
3-0-b
|
||||
3-0-c
|
||||
3-0-d
|
||||
3-0-e
|
||||
3-0-f
|
||||
3-0-g
|
||||
3-0-h
|
||||
3-0-l
|
||||
3-0-j
|
||||
3-0-k
|
||||
3-0-m
|
||||
3-0-n
|
||||
3-0-o
|
||||
3-0-p
|
||||
3-0-q
|
||||
3-0-r
|
||||
3-0-s
|
||||
3-0-t
|
||||
3-0-u
|
||||
3-0-v
|
||||
3-0-w
|
||||
3-0-x
|
||||
3-0-y
|
||||
3-0-z
|
||||
4-5-e
|
||||
4-0-a
|
||||
4-0-b
|
||||
4-0-c
|
||||
4-0-d
|
||||
4-0-f
|
||||
4-0-g
|
||||
4-0-h
|
||||
4-0-i
|
||||
4-0-j
|
||||
4-0-k
|
||||
4-0-l
|
||||
4-0-m
|
||||
4-0-n
|
||||
4-0-o
|
||||
4-0-p
|
||||
4-0-q
|
||||
4-0-r
|
||||
4-0-s
|
||||
4-0-t
|
||||
4-0-u
|
||||
4-0-v
|
||||
4-0-w
|
||||
4-0-x
|
||||
4-0-y
|
||||
4-0-z
|
||||
5-6-t
|
||||
5-0-a
|
||||
5-0-b
|
||||
5-0-c
|
||||
5-0-d
|
||||
5-0-e
|
||||
5-0-f
|
||||
5-0-g
|
||||
5-0-h
|
||||
5-0-i
|
||||
5-0-j
|
||||
5-0-k
|
||||
5-0-l
|
||||
5-0-m
|
||||
5-0-n
|
||||
5-0-o
|
||||
5-0-p
|
||||
5-0-q
|
||||
5-0-r
|
||||
5-0-s
|
||||
5-0-u
|
||||
5-0-v
|
||||
5-0-w
|
||||
5-0-x
|
||||
5-0-y
|
||||
5-0-z
|
||||
6-6-a
|
||||
6-6-b
|
||||
6-6-c
|
||||
6-6-d
|
||||
6-6-e
|
||||
6-6-f
|
||||
6-6-g
|
||||
6-6-h
|
||||
6-6-i
|
||||
6-6-j
|
||||
6-6-k
|
||||
6-6-l
|
||||
6-6-m
|
||||
6-6-n
|
||||
6-6-o
|
||||
6-6-p
|
||||
6-6-q
|
||||
6-6-r
|
||||
6-6-s
|
||||
6-6-t
|
||||
6-6-u
|
||||
6-6-v
|
||||
6-6-w
|
||||
6-6-x
|
||||
6-6-y
|
||||
6-6-z
|
32
TaskB08/run.py
Normal file
32
TaskB08/run.py
Normal file
@ -0,0 +1,32 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if symbol == ' ':
|
||||
# If the current state is 6, stay in 6, otherwise transition to state 0
|
||||
# PROGRAM NIE CHCE CZYTAĆ SPACJI JAKO ZNAK W PLIKU, ZAPISUJE JĄ JAKO PUSTY ZNAK
|
||||
if current_state != 6:
|
||||
current_state = 0
|
||||
elif (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 6
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split('-')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
169442
TaskB08/shakespeare_ascii_lower.in
Normal file
169442
TaskB08/shakespeare_ascii_lower.in
Normal file
File diff suppressed because it is too large
Load Diff
BIN
TaskB08/test.exp
Normal file
BIN
TaskB08/test.exp
Normal file
Binary file not shown.
216
TaskB09/fsa_description.arg
Normal file
216
TaskB09/fsa_description.arg
Normal file
@ -0,0 +1,216 @@
|
||||
0-0-
|
||||
1-0-
|
||||
2-0-
|
||||
3-0-
|
||||
4-0-
|
||||
5-0-
|
||||
6-0-
|
||||
7-7-
|
||||
0-1-m
|
||||
0-0-a
|
||||
0-0-b
|
||||
0-0-c
|
||||
0-0-d
|
||||
0-0-e
|
||||
0-0-f
|
||||
0-0-g
|
||||
0-0-i
|
||||
0-0-j
|
||||
0-0-k
|
||||
0-0-l
|
||||
0-0-o
|
||||
0-0-n
|
||||
0-0-h
|
||||
0-0-p
|
||||
0-0-q
|
||||
0-0-r
|
||||
0-0-s
|
||||
0-0-t
|
||||
0-0-u
|
||||
0-0-v
|
||||
0-0-w
|
||||
0-0-x
|
||||
0-0-y
|
||||
0-0-z
|
||||
1-1-m
|
||||
1-2-a
|
||||
1-0-b
|
||||
1-0-c
|
||||
1-0-d
|
||||
1-0-e
|
||||
1-0-f
|
||||
1-0-g
|
||||
1-0-i
|
||||
1-0-j
|
||||
1-0-k
|
||||
1-0-l
|
||||
1-0-m
|
||||
1-0-n
|
||||
1-0-h
|
||||
1-0-p
|
||||
1-0-q
|
||||
1-0-r
|
||||
1-0-s
|
||||
1-0-t
|
||||
1-0-u
|
||||
1-0-v
|
||||
1-0-w
|
||||
1-0-x
|
||||
1-0-y
|
||||
1-0-z
|
||||
2-3-c
|
||||
2-0-a
|
||||
2-0-b
|
||||
2-0-h
|
||||
2-0-d
|
||||
2-0-e
|
||||
2-0-f
|
||||
2-0-g
|
||||
2-0-m
|
||||
2-0-i
|
||||
2-0-j
|
||||
2-0-k
|
||||
2-0-l
|
||||
2-0-n
|
||||
2-0-o
|
||||
2-0-p
|
||||
2-0-q
|
||||
2-0-r
|
||||
2-0-s
|
||||
2-0-t
|
||||
2-0-u
|
||||
2-0-v
|
||||
2-0-w
|
||||
2-0-x
|
||||
2-0-y
|
||||
2-0-z
|
||||
3-4-b
|
||||
3-0-a
|
||||
3-0-e
|
||||
3-0-c
|
||||
3-0-d
|
||||
3-0-l
|
||||
3-0-f
|
||||
3-0-g
|
||||
3-0-h
|
||||
3-0-i
|
||||
3-0-j
|
||||
3-0-k
|
||||
3-0-m
|
||||
3-0-n
|
||||
3-0-o
|
||||
3-0-p
|
||||
3-0-q
|
||||
3-0-r
|
||||
3-0-s
|
||||
3-0-t
|
||||
3-0-u
|
||||
3-0-v
|
||||
3-0-w
|
||||
3-0-x
|
||||
3-0-y
|
||||
3-0-z
|
||||
4-5-e
|
||||
4-0-a
|
||||
4-0-b
|
||||
4-0-c
|
||||
4-0-d
|
||||
4-0-f
|
||||
4-0-g
|
||||
4-0-h
|
||||
4-0-i
|
||||
4-0-j
|
||||
4-0-k
|
||||
4-0-l
|
||||
4-0-m
|
||||
4-0-n
|
||||
4-0-o
|
||||
4-0-p
|
||||
4-0-q
|
||||
4-0-r
|
||||
4-0-s
|
||||
4-0-t
|
||||
4-0-u
|
||||
4-0-v
|
||||
4-0-w
|
||||
4-0-x
|
||||
4-0-y
|
||||
4-0-z
|
||||
5-6-t
|
||||
5-0-a
|
||||
5-0-b
|
||||
5-0-c
|
||||
5-0-d
|
||||
5-0-e
|
||||
5-0-f
|
||||
5-0-g
|
||||
5-0-h
|
||||
5-0-i
|
||||
5-0-j
|
||||
5-0-k
|
||||
5-0-l
|
||||
5-0-m
|
||||
5-0-n
|
||||
5-0-o
|
||||
5-0-p
|
||||
5-0-q
|
||||
5-0-r
|
||||
5-0-s
|
||||
5-0-u
|
||||
5-0-v
|
||||
5-0-w
|
||||
5-0-x
|
||||
5-0-y
|
||||
5-0-z
|
||||
6-7-h
|
||||
6-0-b
|
||||
6-0-c
|
||||
6-0-d
|
||||
6-0-e
|
||||
6-0-f
|
||||
6-0-g
|
||||
6-0-a
|
||||
6-0-i
|
||||
6-0-j
|
||||
6-0-k
|
||||
6-0-l
|
||||
6-0-m
|
||||
6-0-n
|
||||
6-0-o
|
||||
6-0-p
|
||||
6-0-q
|
||||
6-0-r
|
||||
6-0-s
|
||||
6-0-t
|
||||
6-0-u
|
||||
6-0-v
|
||||
6-0-w
|
||||
6-0-x
|
||||
6-0-y
|
||||
6-0-z
|
||||
7-7-a
|
||||
7-7-b
|
||||
7-7-c
|
||||
7-7-d
|
||||
7-7-e
|
||||
7-7-f
|
||||
7-7-g
|
||||
7-7-h
|
||||
7-7-i
|
||||
7-7-j
|
||||
7-7-k
|
||||
7-7-l
|
||||
7-7-m
|
||||
7-7-n
|
||||
7-7-o
|
||||
7-7-p
|
||||
7-7-q
|
||||
7-7-r
|
||||
7-7-s
|
||||
7-7-t
|
||||
7-7-u
|
||||
7-7-v
|
||||
7-7-w
|
||||
7-7-x
|
||||
7-7-y
|
||||
7-7-z
|
32
TaskB09/run.py
Normal file
32
TaskB09/run.py
Normal file
@ -0,0 +1,32 @@
|
||||
import sys
|
||||
|
||||
def is_accepted(fsa, input_string):
|
||||
current_state = 0
|
||||
for symbol in input_string:
|
||||
if symbol == ' ':
|
||||
# If the current state is 7, stay in 7, otherwise transition to state 0
|
||||
# PROGRAM NIE CHCE CZYTAĆ SPACJI JAKO ZNAK W PLIKU, ZAPISUJE JĄ JAKO PUSTY ZNAK
|
||||
if current_state != 7:
|
||||
current_state = 0
|
||||
elif (current_state, symbol) in fsa:
|
||||
current_state = fsa[(current_state, symbol)]
|
||||
else:
|
||||
return False
|
||||
return current_state == 7
|
||||
|
||||
fsa_file = sys.argv[1]
|
||||
fsa = {}
|
||||
with open(fsa_file, 'r') as f:
|
||||
for line in f:
|
||||
parts = line.strip().split('-')
|
||||
if len(parts) == 3:
|
||||
state, next_state, symbol = parts
|
||||
fsa[(int(state), symbol)] = int(next_state)
|
||||
|
||||
|
||||
for line in sys.stdin:
|
||||
input_string = line.strip()
|
||||
if is_accepted(fsa, input_string):
|
||||
print("YES")
|
||||
else:
|
||||
print("NO")
|
169442
TaskB09/shakespeare_ascii_lower.in
Normal file
169442
TaskB09/shakespeare_ascii_lower.in
Normal file
File diff suppressed because it is too large
Load Diff
BIN
TaskB09/test.exp
Normal file
BIN
TaskB09/test.exp
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user