Compare commits
No commits in common. "3b17708166162415094f0e519ca5013aa3c1d9f9" and "c04d0cf332e48cf54f8369716c50c2dcf198cac1" have entirely different histories.
3b17708166
...
c04d0cf332
@ -1,11 +1,6 @@
|
||||
|
||||
## Zajęcia 1
|
||||
|
||||
Copyright AMU Poznan
|
||||
|
||||
Made by multiple people
|
||||
|
||||
|
||||
### Informacje na temat przedmiotu
|
||||
|
||||
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