Merge branch 'master' of https://git.wmi.amu.edu.pl/filipg/djfz-2020
This commit is contained in:
commit
106501143b
@ -8,4 +8,4 @@ automaton, write YES, otherwise- write NO.
|
||||
The program is invoked like this: ./run test1.arg < test1.in > test1.out
|
||||
|
||||
POINTS: 3
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-23 15:30:00
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 0/4
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 1/4
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 2/4
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 3/4
|
||||
|
@ -11,4 +11,4 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -9,5 +9,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 3
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 1/4
|
||||
|
@ -9,5 +9,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 3
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 2/4
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 3
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 3/4
|
||||
|
@ -10,5 +10,5 @@ If a string is accepted by the
|
||||
automaton, write YES, otherwise- write NO.
|
||||
|
||||
POINTS: 3
|
||||
DEADLINE: 2020-12-20 23:59:59
|
||||
DEADLINE: 2020-12-24 15:30:00
|
||||
REMAINDER: 0/4
|
||||
|
14
TaskF00/description.txt
Normal file
14
TaskF00/description.txt
Normal file
@ -0,0 +1,14 @@
|
||||
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: ./run 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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
4041
TaskF00/long.arg
Normal file
4041
TaskF00/long.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskF00/long.exp
Normal file
7
TaskF00/long.exp
Normal file
@ -0,0 +1,7 @@
|
||||
NO
|
||||
NO
|
||||
YES
|
||||
YES
|
||||
NO
|
||||
NO
|
||||
NO
|
7
TaskF00/long.in
Normal file
7
TaskF00/long.in
Normal file
@ -0,0 +1,7 @@
|
||||
aaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
xyz
|
||||
aba
|
||||
a
|
16
TaskF00/test1.arg
Normal file
16
TaskF00/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
TaskF00/test1.exp
Normal file
9
TaskF00/test1.exp
Normal file
@ -0,0 +1,9 @@
|
||||
NO
|
||||
YES
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
NO
|
9
TaskF00/test1.in
Normal file
9
TaskF00/test1.in
Normal file
@ -0,0 +1,9 @@
|
||||
xxyz
|
||||
xyz
|
||||
xy
|
||||
zz
|
||||
xxy
|
||||
yzx
|
||||
|
||||
x
|
||||
xyzz
|
7
TaskF00/testnfa.arg
Normal file
7
TaskF00/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
TaskF00/testnfa.exp
Normal file
8
TaskF00/testnfa.exp
Normal file
@ -0,0 +1,8 @@
|
||||
YES
|
||||
YES
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
YES
|
||||
NO
|
||||
YES
|
8
TaskF00/testnfa.in
Normal file
8
TaskF00/testnfa.in
Normal file
@ -0,0 +1,8 @@
|
||||
abc
|
||||
ab
|
||||
abcd
|
||||
aaaabc
|
||||
aaaaaaaabc
|
||||
aaaaaaabc
|
||||
zzz
|
||||
aaaaaaabc
|
14
TaskF01/description.txt
Normal file
14
TaskF01/description.txt
Normal file
@ -0,0 +1,14 @@
|
||||
Use a non deterministic finite-state automaton (FSA) engine from the TaskF00.
|
||||
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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 0/3
|
6
TaskF01/test.exp
Normal file
6
TaskF01/test.exp
Normal file
@ -0,0 +1,6 @@
|
||||
YES
|
||||
YES
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
YES
|
6
TaskF01/test.in
Normal file
6
TaskF01/test.in
Normal file
@ -0,0 +1,6 @@
|
||||
abc
|
||||
abbc
|
||||
bca
|
||||
b
|
||||
abaa
|
||||
aaacbb
|
14
TaskF02/description.txt
Normal file
14
TaskF02/description.txt
Normal file
@ -0,0 +1,14 @@
|
||||
Use a non deterministic finite-state automaton (FSA) engine from the TaskF00.
|
||||
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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 1/3
|
6
TaskF02/test.exp
Normal file
6
TaskF02/test.exp
Normal file
@ -0,0 +1,6 @@
|
||||
YES
|
||||
NO
|
||||
YES
|
||||
NO
|
||||
YES
|
||||
NO
|
6
TaskF02/test.in
Normal file
6
TaskF02/test.in
Normal file
@ -0,0 +1,6 @@
|
||||
ab
|
||||
a
|
||||
abbab
|
||||
bbbbb
|
||||
ababaab
|
||||
b
|
14
TaskF03/description.txt
Normal file
14
TaskF03/description.txt
Normal file
@ -0,0 +1,14 @@
|
||||
Use a non deterministic finite-state automaton (FSA) engine from the TaskF00.
|
||||
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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 2/3
|
7
TaskF03/test.exp
Normal file
7
TaskF03/test.exp
Normal file
@ -0,0 +1,7 @@
|
||||
YES
|
||||
YES
|
||||
YES
|
||||
NO
|
||||
NO
|
||||
NO
|
||||
NO
|
7
TaskF03/test.in
Normal file
7
TaskF03/test.in
Normal file
@ -0,0 +1,7 @@
|
||||
abc
|
||||
acabc
|
||||
acabccb
|
||||
abbab
|
||||
bbbbb
|
||||
ababaab
|
||||
bc
|
25
TaskF04/description.txt
Normal file
25
TaskF04/description.txt
Normal file
@ -0,0 +1,25 @@
|
||||
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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 0/3
|
8
TaskF04/eps.arg
Normal file
8
TaskF04/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
TaskF04/eps.exp
Normal file
10
TaskF04/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
TaskF04/eps.in
Normal file
10
TaskF04/eps.in
Normal file
@ -0,0 +1,10 @@
|
||||
a
|
||||
aa
|
||||
aaa
|
||||
abc
|
||||
aaabc
|
||||
aaabcd
|
||||
aabc
|
||||
abd
|
||||
ad
|
||||
aad
|
4041
TaskF04/long.arg
Normal file
4041
TaskF04/long.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskF04/long.exp
Normal file
7
TaskF04/long.exp
Normal file
@ -0,0 +1,7 @@
|
||||
FALSE aaa
|
||||
FALSE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
TRUE aaaa
|
||||
TRUE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
FALSE xyz
|
||||
FALSE aba
|
||||
FALSE a
|
7
TaskF04/long.in
Normal file
7
TaskF04/long.in
Normal file
@ -0,0 +1,7 @@
|
||||
aaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
aaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
xyz
|
||||
aba
|
||||
a
|
5
TaskF04/simple1.arg
Normal file
5
TaskF04/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
TaskF04/simple1.exp
Normal file
8
TaskF04/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
TaskF04/simple1.in
Normal file
8
TaskF04/simple1.in
Normal file
@ -0,0 +1,8 @@
|
||||
a
|
||||
ab
|
||||
abc
|
||||
abcd
|
||||
aaaaab
|
||||
abc
|
||||
xyz
|
||||
0
|
9
TaskF04/simple2.arg
Normal file
9
TaskF04/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
TaskF04/simple2.exp
Normal file
9
TaskF04/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
TaskF04/simple2.in
Normal file
9
TaskF04/simple2.in
Normal file
@ -0,0 +1,9 @@
|
||||
kot
|
||||
ac
|
||||
abc
|
||||
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
|
||||
abcd
|
||||
abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccc
|
||||
kotek
|
||||
kotabc
|
||||
kot
|
52
TaskF05/description.txt
Normal file
52
TaskF05/description.txt
Normal file
@ -0,0 +1,52 @@
|
||||
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.
|
||||
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 1/3
|
31
TaskF05/elem.arg
Normal file
31
TaskF05/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
TaskF05/elem.exp
Normal file
1
TaskF05/elem.exp
Normal file
@ -0,0 +1 @@
|
||||
dom;N
|
1
TaskF05/elem.in
Normal file
1
TaskF05/elem.in
Normal file
@ -0,0 +1 @@
|
||||
dom
|
15125
TaskF05/medium.arg
Normal file
15125
TaskF05/medium.arg
Normal file
File diff suppressed because it is too large
Load Diff
7
TaskF05/medium.exp
Normal file
7
TaskF05/medium.exp
Normal file
@ -0,0 +1,7 @@
|
||||
arbuz;N
|
||||
arbuza;N
|
||||
arbuzowi;ADJ
|
||||
arbuzowi;N
|
||||
azylant;N
|
||||
azylanci;N
|
||||
azylantowie;OOV
|
6
TaskF05/medium.in
Normal file
6
TaskF05/medium.in
Normal file
@ -0,0 +1,6 @@
|
||||
arbuz
|
||||
arbuza
|
||||
arbuzowi
|
||||
azylant
|
||||
azylanci
|
||||
azylantowie
|
31
TaskF05/multi.arg
Normal file
31
TaskF05/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
TaskF05/multi.exp
Normal file
2
TaskF05/multi.exp
Normal file
@ -0,0 +1,2 @@
|
||||
piła;N
|
||||
piła;V
|
1
TaskF05/multi.in
Normal file
1
TaskF05/multi.in
Normal file
@ -0,0 +1 @@
|
||||
piła
|
31
TaskF05/oov.arg
Normal file
31
TaskF05/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
TaskF05/oov.exp
Normal file
1
TaskF05/oov.exp
Normal file
@ -0,0 +1 @@
|
||||
budynek;OOV
|
1
TaskF05/oov.in
Normal file
1
TaskF05/oov.in
Normal file
@ -0,0 +1 @@
|
||||
budynek
|
24
TaskF06/description.txt
Normal file
24
TaskF06/description.txt
Normal file
@ -0,0 +1,24 @@
|
||||
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.
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-04 23:59:59
|
||||
REMAINDER: 2/3
|
50648
TaskF06/medium.exp
Normal file
50648
TaskF06/medium.exp
Normal file
File diff suppressed because it is too large
Load Diff
14774
TaskF06/medium.in
Normal file
14774
TaskF06/medium.in
Normal file
File diff suppressed because it is too large
Load Diff
1
TaskF06/medium2.exp
Normal file
1
TaskF06/medium2.exp
Normal file
@ -0,0 +1 @@
|
||||
a
|
13989
TaskF06/medium2.in
Normal file
13989
TaskF06/medium2.in
Normal file
File diff suppressed because it is too large
Load Diff
4
TaskF06/small.exp
Normal file
4
TaskF06/small.exp
Normal file
@ -0,0 +1,4 @@
|
||||
biały
|
||||
dom
|
||||
piła
|
||||
stali
|
18
TaskF06/small.in
Normal file
18
TaskF06/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
TaskF06/small2.exp
Normal file
3
TaskF06/small2.exp
Normal file
@ -0,0 +1,3 @@
|
||||
biały
|
||||
piła
|
||||
stali
|
18
TaskF06/small2.in
Normal file
18
TaskF06/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
|
44
TaskG01/description.txt
Normal file
44
TaskG01/description.txt
Normal file
@ -0,0 +1,44 @@
|
||||
Use regular expressions to mark Polish first-person masculine forms.
|
||||
|
||||
You should handle the following types of expressions:
|
||||
|
||||
* first-person masculine past forms of verbs ("zrobiłem", "pisałem", etc.),
|
||||
* first-person singular masculine forms of the verb "być" ("be") combined
|
||||
with singular masculine nominative forms of adjectives ("wysoki", "sprytny", etc.),
|
||||
assuming that the form of the verb "być" is to the left of the adjective, not
|
||||
more than 3 other words,
|
||||
* the verb "będę" combined with the past participle (i.e. 3rd person
|
||||
masculine imperfect form, e.g. "robił", pisał"), assuming
|
||||
that "będę" is to the left of the adjective, not
|
||||
more than 3 other words to the left of the participle OR directly
|
||||
to the right of the participle ("robił będę").
|
||||
|
||||
The first-person masculine forms should be marked with curly brackets.
|
||||
You should mark only the masculine form. Do not mark the form of "być"
|
||||
(unless it clearly a masculine form, i.e. for "byłem").
|
||||
|
||||
The match should be case-insensitive.
|
||||
|
||||
The PoliMorf dictionary of inflected forms should be applied:
|
||||
http://zil.ipipan.waw.pl/PoliMorf?action=AttachFile&do=get&target=PoliMorf-0.6.7.tab.gz
|
||||
|
||||
Suggested steps:
|
||||
|
||||
1. Extract all the needed forms from the PoliMorf dictionary:
|
||||
|
||||
* 1st person masculine past forms of verbs, unfortunately
|
||||
this form is not directly present in the lexicon, you need
|
||||
to add "em" to the 3rd person masculine form ("zrobił" => "zrobiłem")
|
||||
* singular masculine nominative forms of adjectives
|
||||
* masculine past participle (3rd person masculine imperfect forms of verbs)
|
||||
|
||||
You could do this using grep/cut commands — to obtain a simple text files
|
||||
with a word in each line. You can do this once and commit the 3 files to your repository.
|
||||
|
||||
2. In your `run` script/program, read the 3 files and create a large
|
||||
expression with alternatives. Use a regexp library based on DFAs (determintistic
|
||||
finite-automatons).
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-20 15:30:00
|
||||
REMAINDER: 0/2
|
25
TaskG01/simple.exp
Normal file
25
TaskG01/simple.exp
Normal file
@ -0,0 +1,25 @@
|
||||
Tu nic nie ma.
|
||||
Wczoraj {ugotowałem} ziemniaki.
|
||||
{Jechałem}, {jechałem} i {jechałem}, a potem się {zatrzymałem}.
|
||||
{Umyłem} się mydłem.
|
||||
Jestem {wysoki}.
|
||||
Jest wysoki.
|
||||
Mówią, że jestem od zawsze niezwykle {sprytny}.
|
||||
aaaa {byłem} aaa {zielony} ddd
|
||||
aaaa {byłem} aaa bbb {zielony} ddd
|
||||
aaaa {byłem} aaa bbb ccc {zielony} ddd
|
||||
aaaa {byłem} aaa bbb ccc ddd zielony ddd
|
||||
aaaa był aaa bbb zielony ddd
|
||||
aaaa byłam aaa bbb zielony ddd
|
||||
aaaa byłam aaa bbb zielona ddd
|
||||
teraz będę {pisał} książkę
|
||||
będę teraz {pisał} książkę
|
||||
będę teraz dla ciebie {pisał} książkę
|
||||
teraz dla ciebie {pisał} będę księżkę
|
||||
będę i on napisał książkę
|
||||
aaa będę {śpiewał} bbb
|
||||
aaa będę ccc {śpiewał} bbb
|
||||
aaa będę ccc ddd {śpiewał} bbb
|
||||
aaa będę ccc ddd eee {śpiewał} bbb
|
||||
aaa będę ccc ddd eee fff śpiewał bbb
|
||||
{pływałem} i {biegałem}
|
25
TaskG01/simple.in
Normal file
25
TaskG01/simple.in
Normal file
@ -0,0 +1,25 @@
|
||||
Tu nic nie ma.
|
||||
Wczoraj ugotowałem ziemniaki.
|
||||
Jechałem, jechałem i jechałem, a potem się zatrzymałem.
|
||||
Umyłem się mydłem.
|
||||
Jestem wysoki.
|
||||
Jest wysoki.
|
||||
Mówią, że jestem od zawsze niezwykle sprytny.
|
||||
aaaa byłem aaa zielony ddd
|
||||
aaaa byłem aaa bbb zielony ddd
|
||||
aaaa byłem aaa bbb ccc zielony ddd
|
||||
aaaa byłem aaa bbb ccc ddd zielony ddd
|
||||
aaaa był aaa bbb zielony ddd
|
||||
aaaa byłam aaa bbb zielony ddd
|
||||
aaaa byłam aaa bbb zielona ddd
|
||||
teraz będę pisał książkę
|
||||
będę teraz pisał książkę
|
||||
będę teraz dla ciebie pisał książkę
|
||||
teraz dla ciebie pisał będę księżkę
|
||||
będę i on napisał książkę
|
||||
aaa będę śpiewał bbb
|
||||
aaa będę ccc śpiewał bbb
|
||||
aaa będę ccc ddd śpiewał bbb
|
||||
aaa będę ccc ddd eee śpiewał bbb
|
||||
aaa będę ccc ddd eee fff śpiewał bbb
|
||||
pływałem i biegałem
|
44
TaskG02/description.txt
Normal file
44
TaskG02/description.txt
Normal file
@ -0,0 +1,44 @@
|
||||
Use regular expressions to mark Polish first-person feminine forms.
|
||||
|
||||
You should handle the following types of expressions:
|
||||
|
||||
* first-person feminine past forms of verbs ("zrobiłam", "pisałam", etc.),
|
||||
* first-person singular feminine forms of the verb "być" ("be") combined
|
||||
with singular feminine nominative forms of adjectives ("wysoka", "sprytna", etc.),
|
||||
assuming that the form of the verb "być" is to the left of the adjective, not
|
||||
more than 3 other words,
|
||||
* the verb "będę" combined with the past participle (i.e. 3rd person
|
||||
feminine imperfect form, e.g. "robiła", pisała"), assuming
|
||||
that "będę" is to the left of the adjective, not
|
||||
more than 3 other words to the left of the participle OR directly
|
||||
to the right of the participle ("robiła będę").
|
||||
|
||||
The first-person feminine forms should be marked with curly brackets.
|
||||
You should mark only the feminine form. Do not mark the form of "być"
|
||||
(unless it clearly a feminine form, i.e. for "byłam").
|
||||
|
||||
The match should be case-insensitive.
|
||||
|
||||
The PoliMorf dictionary of inflected forms should be applied:
|
||||
http://zil.ipipan.waw.pl/PoliMorf?action=AttachFile&do=get&target=PoliMorf-0.6.7.tab.gz
|
||||
|
||||
Suggested steps:
|
||||
|
||||
1. Extract all the needed forms from the PoliMorf dictionary:
|
||||
|
||||
* 1st person feminine past forms of verbs, unfortunately
|
||||
this form is not directly present in the lexicon, you need
|
||||
to add "m" to the 3rd person feminine form ("zrobiła" => "zrobiłam")
|
||||
* singular feminine nominative forms of adjectives
|
||||
* feminine past participle (3rd person feminine imperfect forms of verbs)
|
||||
|
||||
You could do this using grep/cut commands — to obtain a simple text files
|
||||
with a word in each line. You can do this once and commit the 3 files to your repository.
|
||||
|
||||
2. In your `run` script/program, read the 3 files and create a large
|
||||
expression with alternatives. Use a regexp library based on DFAs (determintistic
|
||||
finite-automatons).
|
||||
|
||||
POINTS: 4
|
||||
DEADLINE: 2021-01-20 15:30:00
|
||||
REMAINDER: 1/2
|
25
TaskG02/simple.exp
Normal file
25
TaskG02/simple.exp
Normal file
@ -0,0 +1,25 @@
|
||||
Tu nic nie ma.
|
||||
Wczoraj {ugotowałam} ziemniaki.
|
||||
{Jechałam}, {jechałam} i {jechałam}, a potem się {zatrzymałam}.
|
||||
{Umyłam} się mydłem i bam, złam się.
|
||||
Jestem {wysoka}.
|
||||
Jest {wysoka}.
|
||||
Mówią, że jestem od zawsze niezwykle {sprytna}.
|
||||
aaaa {byłam} aaa {zielona} ddd
|
||||
aaaa {byłam} aaa bbb {zielona} ddd
|
||||
aaaa {byłam} aaa bbb ccc {zielona} ddd
|
||||
aaaa {byłam} aaa bbb ccc ddd {zielona} ddd
|
||||
aaaa była aaa bbb zielona ddd
|
||||
aaaa byłem aaa bbb zielona ddd
|
||||
aaaa byłem aaa bbb zielony ddd
|
||||
teraz będę {pisała} książkę
|
||||
będę teraz {pisała} książkę
|
||||
będę teraz dla ciebie {pisała} książkę
|
||||
teraz dla ciebie {pisała} będę księżkę
|
||||
będę i ona napisała książkę
|
||||
aaa będę {śpiewała} bbb
|
||||
aaa będę ccc {śpiewała} bbb
|
||||
aaa będę ccc ddd {śpiewała} bbb
|
||||
aaa będę ccc ddd eee {śpiewała} bbb
|
||||
aaa będę ccc ddd eee fff śpiewała bbb
|
||||
{pływałam} i {biegałam}
|
25
TaskG02/simple.in
Normal file
25
TaskG02/simple.in
Normal file
@ -0,0 +1,25 @@
|
||||
Tu nic nie ma.
|
||||
Wczoraj ugotowałam ziemniaki.
|
||||
Jechałam, jechałam i jechałam, a potem się zatrzymałam.
|
||||
Umyłam się mydłem i bam, złam się.
|
||||
Jestem wysoka.
|
||||
Jest wysoka.
|
||||
Mówią, że jestem od zawsze niezwykle sprytna.
|
||||
aaaa byłam aaa zielona ddd
|
||||
aaaa byłam aaa bbb zielona ddd
|
||||
aaaa byłam aaa bbb ccc zielona ddd
|
||||
aaaa byłam aaa bbb ccc ddd zielona ddd
|
||||
aaaa była aaa bbb zielona ddd
|
||||
aaaa byłem aaa bbb zielona ddd
|
||||
aaaa byłem aaa bbb zielony ddd
|
||||
teraz będę pisała książkę
|
||||
będę teraz pisała książkę
|
||||
będę teraz dla ciebie pisała książkę
|
||||
teraz dla ciebie pisała będę księżkę
|
||||
będę i ona napisała książkę
|
||||
aaa będę śpiewała bbb
|
||||
aaa będę ccc śpiewała bbb
|
||||
aaa będę ccc ddd śpiewała bbb
|
||||
aaa będę ccc ddd eee śpiewała bbb
|
||||
aaa będę ccc ddd eee fff śpiewała bbb
|
||||
pływałam i biegałam
|
2
blend.sh
2
blend.sh
@ -21,7 +21,7 @@ cp "${PREFIX}/count-points.pl" arena/
|
||||
cp "${PREFIX}/overrides.txt" arena/
|
||||
cp "${PREFIX}/Makefile" arena/
|
||||
|
||||
for TX in X01 X02 X03 A01 B01 B02 B03 B04 D00 D01 D02 D03 D04 D05 E00 # X04 X05 X06 X07 X08 B00 B01 B02 B03 B04 B05 B06 C00 C01 C02 C03 C04 C05 C06 E01 E02 E03 E04 E05 E06 E07 # X05 X06 X07 X08 X09 X10 B03 B04 X10
|
||||
for TX in X01 X02 X03 A01 B01 B02 B03 B04 D00 D01 D02 D03 D04 D05 E00 E01 E02 E03 E04 E05 E06 E07 E08 E09 F00 F01 F02 F03 F04 F05 F06 G01 G02 # X04 X05 X06 X07 X08 B00 B01 B02 B03 B04 B05 B06 C00 C01 C02 C03 C04 C05 C06 E01 E02 E03 E04 E05 E06 E07 # X05 X06 X07 X08 X09 X10 B03 B04 X10
|
||||
do
|
||||
mkdir -p arena/Task$TX
|
||||
done
|
||||
|
@ -52,7 +52,7 @@ sub update_total {
|
||||
|
||||
my $section = get_section($report_file_path);
|
||||
|
||||
if (defined $section && ($section ne 'A' && $section ne 'B' && $section ne 'C' && $section ne 'D' && $section ne 'E')) {
|
||||
if (defined $section && ($section ne 'A' && $section ne 'B' && $section ne 'C' && $section ne 'D' && $section ne 'E' && $section ne 'F')) {
|
||||
if ($section_points{$section} > 0) {
|
||||
print "UWAGA: TYLKO ZADANIE Z NAJWIĘKSZĄ LICZBĄ PUNKTÓW BĘDZIE LICZONE DLA DZIAŁU $section\n";
|
||||
}
|
||||
@ -170,7 +170,7 @@ sub check_if_the_right_task {
|
||||
|
||||
# return 0 if $task_id =~ m{^TaskE} and not is_estudent($student_id);
|
||||
|
||||
return 0 if $task_id =~ m{^Task[AC]} and is_estudent($student_id);
|
||||
# return 0 if $task_id =~ m{^Task[AC]} and is_estudent($student_id);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -245,38 +245,6 @@ sub is_estudent {
|
||||
my $suffix = substr($id, 1);
|
||||
|
||||
my %estudents = map { $_ => 1 } split/\n/,<<'END_OF_NUMBERS';
|
||||
16136
|
||||
21804
|
||||
30291
|
||||
30686
|
||||
32746
|
||||
32753
|
||||
32754
|
||||
32757
|
||||
32759
|
||||
32778
|
||||
32813
|
||||
32837
|
||||
34595
|
||||
34596
|
||||
34598
|
||||
34599
|
||||
34603
|
||||
34604
|
||||
34608
|
||||
34650
|
||||
34654
|
||||
39546
|
||||
40549
|
||||
42335
|
||||
42611
|
||||
42612
|
||||
42613
|
||||
42614
|
||||
50169
|
||||
50711
|
||||
52484
|
||||
84146
|
||||
END_OF_NUMBERS
|
||||
|
||||
if ($estudents{$suffix}) {
|
||||
|
@ -4,3 +4,18 @@
|
||||
444469 A03 2 http://filipg-jenkins.wmi.amu.edu.pl:8090/job/djfz-2020-s444469/5/console
|
||||
444469 X03 1 http://filipg-jenkins.wmi.amu.edu.pl:8090/job/djfz-2020-s444469/5/console
|
||||
444523 B01 1 TS
|
||||
444379 C40 2 http://filipg-jenkins.wmi.amu.edu.pl:8090/view/DJFZ-2020/job/djfz-2020-s444379/15/console
|
||||
444428 C40 2 http://filipg-jenkins.wmi.amu.edu.pl:8090/job/djfz-2020-s444428/8/console
|
||||
442778 A01 2 http://filipg-jenkins.wmi.amu.edu.pl:8090/job/djfz-2020-s442778/6/console
|
||||
444486 D02 1 http://filipg-jenkins.wmi.amu.edu.pl:8090/view/DJFZ-2020/job/djfz-2020-s444486/6/console
|
||||
444486 D03 1 http://filipg-jenkins.wmi.amu.edu.pl:8090/view/DJFZ-2020/job/djfz-2020-s444486/6/console
|
||||
444486 D05 2 http://filipg-jenkins.wmi.amu.edu.pl:8090/view/DJFZ-2020/job/djfz-2020-s444486/6/console
|
||||
444367 D01 1 TD
|
||||
444367 D02 1 TD
|
||||
444367 D03 1 TD
|
||||
444367 D04 1 TD
|
||||
444496 E01 3
|
||||
444496 E05 2
|
||||
444496 E09 3
|
||||
444519 E00 3
|
||||
444519 E04 2
|
||||
|
Loading…
Reference in New Issue
Block a user