Compare commits
No commits in common. "3b17708166162415094f0e519ca5013aa3c1d9f9" and "c04d0cf332e48cf54f8369716c50c2dcf198cac1" have entirely different histories.
3b17708166
...
c04d0cf332
@ -1,11 +1,6 @@
|
|||||||
|
|
||||||
## Zajęcia 1
|
## Zajęcia 1
|
||||||
|
|
||||||
Copyright AMU Poznan
|
|
||||||
|
|
||||||
Made by multiple people
|
|
||||||
|
|
||||||
|
|
||||||
### Informacje na temat przedmiotu
|
### Informacje na temat przedmiotu
|
||||||
|
|
||||||
Prowadzący: Jacek Kałużny
|
Prowadzący: Jacek Kałużny
|
||||||
|
@ -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
|
|
@ -1,26 +0,0 @@
|
|||||||
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('\t')
|
|
||||||
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")
|
|
Binary file not shown.
@ -1,9 +0,0 @@
|
|||||||
xxyz
|
|
||||||
xyz
|
|
||||||
xy
|
|
||||||
zz
|
|
||||||
xxy
|
|
||||||
yzx
|
|
||||||
|
|
||||||
x
|
|
||||||
xyzz
|
|
@ -1,10 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the TaskE00.
|
|
||||||
Create your own FSA description to check whether the string starts with "01" and ends with "01.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
The alphabet is "0", "1".
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
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
|
|
@ -1,27 +0,0 @@
|
|||||||
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
TaskB01/test.exp
BIN
TaskB01/test.exp
Binary file not shown.
@ -1,14 +0,0 @@
|
|||||||
01
|
|
||||||
10
|
|
||||||
0101
|
|
||||||
1010
|
|
||||||
011101
|
|
||||||
101010
|
|
||||||
100010
|
|
||||||
0100001
|
|
||||||
|
|
||||||
00110
|
|
||||||
0000
|
|
||||||
10101
|
|
||||||
0
|
|
||||||
1
|
|
@ -1,9 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the TaskE00.
|
|
||||||
Create your own FSA description to check whether the string starts with "10" and ends with "10.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
The alphabet is "0", "1".
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
@ -1,14 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
@ -1,14 +0,0 @@
|
|||||||
01
|
|
||||||
10
|
|
||||||
0101
|
|
||||||
1010
|
|
||||||
011101
|
|
||||||
101010
|
|
||||||
100010
|
|
||||||
0100001
|
|
||||||
|
|
||||||
00110
|
|
||||||
0000
|
|
||||||
10101
|
|
||||||
0
|
|
||||||
1
|
|
@ -1,11 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the TaskE00.
|
|
||||||
Create your own FSA description to check whether the string contains "0"
|
|
||||||
even number of times.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
The alphabet is "0", "1".
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
@ -1,14 +0,0 @@
|
|||||||
01
|
|
||||||
10
|
|
||||||
0101
|
|
||||||
1010
|
|
||||||
011101
|
|
||||||
101010
|
|
||||||
100010
|
|
||||||
0100001
|
|
||||||
|
|
||||||
00110
|
|
||||||
0000
|
|
||||||
10101
|
|
||||||
0
|
|
||||||
1
|
|
@ -1,11 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the TaskE00.
|
|
||||||
Create your own FSA description to check whether the string contains "0"
|
|
||||||
odd number of times.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
The alphabet is "0", "1".
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
YES
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
@ -1,14 +0,0 @@
|
|||||||
01
|
|
||||||
10
|
|
||||||
0101
|
|
||||||
1010
|
|
||||||
011101
|
|
||||||
101010
|
|
||||||
100010
|
|
||||||
0100001
|
|
||||||
|
|
||||||
00110
|
|
||||||
0000
|
|
||||||
10101
|
|
||||||
0
|
|
||||||
1
|
|
@ -1,10 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the TaskB00.
|
|
||||||
Create your own FSA description to check whether the line contains string '19DD', where D is a digit.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
FSA alphabet is '0123456789x'.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,6 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,6 +0,0 @@
|
|||||||
3214545443
|
|
||||||
1910
|
|
||||||
19
|
|
||||||
xxx2190x
|
|
||||||
xxx21905x
|
|
||||||
1905x54545
|
|
@ -1,9 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the previous task.
|
|
||||||
Create your own FSA description to check whether the word "hamlet" is in the given line.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
FSA alphabet is 'abcdefghijklmnopqrstuvwxyz '.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,3 +0,0 @@
|
|||||||
haml
|
|
||||||
hamlet
|
|
||||||
aaahamletbbb
|
|
@ -1,10 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the previous task.
|
|
||||||
Create your own FSA description to check whether the word "ophelia" is in the given line.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
FSA alphabet is 'abcdefghijklmnopqrstuvwxyz '.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,3 +0,0 @@
|
|||||||
oph
|
|
||||||
ophelia
|
|
||||||
xfdfdopheliafff
|
|
@ -1,10 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the previous task.
|
|
||||||
Create your own FSA description to check whether the word "juliet" is in the given line.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
FSA alphabet is 'abcdefghijklmnopqrstuvwxyz '.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,3 +0,0 @@
|
|||||||
juli
|
|
||||||
juliet
|
|
||||||
dgfdgjulietaaa
|
|
@ -1,10 +0,0 @@
|
|||||||
Use a deterministic finite-state automaton (FSA) engine from the previous task.
|
|
||||||
Create your own FSA description to check whether the word "macbeth" is in the given line.
|
|
||||||
Save it to fsa_description.arg file.
|
|
||||||
|
|
||||||
FSA alphabet is 'abcdefghijklmnopqrstuvwxyz '.
|
|
||||||
|
|
||||||
Read strings from the standard input.
|
|
||||||
If a string is accepted by the
|
|
||||||
automaton, write YES, otherwise- write NO.
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,3 +0,0 @@
|
|||||||
macb
|
|
||||||
macbeth
|
|
||||||
xadadamacbethrff
|
|
Loading…
Reference in New Issue
Block a user