This commit is contained in:
mxsgd 2023-12-17 21:57:42 +01:00 committed by mxsgd
parent 484523b145
commit 5e9c631528
178 changed files with 522784 additions and 23 deletions

View File

@ -1 +0,0 @@
q

201
TaskB07/fsa_description.arg Normal file
View File

@ -0,0 +1,201 @@
0 0 a
0 0 b
0 0 c
0 0 d
0 0 e
0 0 f
0 0 g
0 0 h
0 0 i
0 0 j
0 0 k
0 0 l
0 0 m
0 0 n
0 1 o
0 0 p
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 0 a
1 0 b
1 0 c
1 0 d
1 0 e
1 0 f
1 0 g
1 0 h
1 0 i
1 0 j
1 0 k
1 0 l
1 0 m
1 0 n
1 0 o
1 2 p
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 0 a
2 0 b
2 0 c
2 0 d
2 0 e
2 0 f
2 0 g
2 3 h
2 0 i
2 0 j
2 0 k
2 0 l
2 0 m
2 0 n
2 0 o
2 0 p
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 0 a
3 0 b
3 0 c
3 0 d
3 4 e
3 0 f
3 0 g
3 0 h
3 0 i
3 0 j
3 0 k
3 0 l
3 0 m
3 0 n
3 0 o
3 0 p
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 0 a
4 0 b
4 0 c
4 0 d
4 0 e
4 0 f
4 0 g
4 0 h
4 0 i
4 0 j
4 0 k
4 5 l
4 0 m
4 0 n
4 0 o
4 0 p
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 0 a
5 0 b
5 0 c
5 0 d
5 0 e
5 0 f
5 0 g
5 0 h
5 6 i
5 0 j
5 0 k
5 0 l
5 0 m
5 0 n
5 0 o
5 0 p
5 0 r
5 0 s
5 0 t
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 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 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
7

96
TaskB07/run.py Normal file
View File

@ -0,0 +1,96 @@
# B00 (2021)
#
import sys
class FSA:
def __init__(self):
self.initial_state = '0' # zakładamy dla uproszczenia, że initial state = 0
self.final_states = set()
self.transitions = dict()
self.alphabet = set()
def add_transition(self, state_from, state_to, symbol):
if state_from in self.transitions.keys():
self.transitions[state_from][symbol] = state_to
else:
self.transitions[state_from] = dict()
self.transitions[state_from][symbol] = state_to
def add_final_state(self, state):
self.final_states.add(state)
def get_final_state(self, string):
current_state = self.initial_state
for symbol in string:
current_state = self.transitions[current_state][symbol]
return current_state
def accepts(self, string):
if self.get_final_state(string) in self.final_states:
return True
else:
return False
fsa = FSA()
# def build_fsa(self): #, dfa_desciption
table = open(sys.argv[1]) # dfa_desciption
for line in table:
line = line.rstrip('\n')
if len(line.split('\t')) == 3:
a, b, c = line.split('\t')
fsa.add_transition(a, b, c) #self
fsa.alphabet.add(c) #self
elif len(line.split('\t')) == 1:
fsa.add_final_state(line) #self
else:
assert False
# def run_dfa(self): # , input
for line in sys.stdin: # open(input)
line = line.rstrip()
line_n = list(line)
for i in range(len(line_n)):
if line_n[i] not in fsa.alphabet: #self
line_n[i] = 'x'
if fsa.accepts(line_n): #self
print('YES')
else:
print('NO')
# def run_dfa_and_compare(self, input, expected):
#
# accepts = []
#
# for line in open(input): # sys.stdin
# line = line.rstrip()
#
# line_n = list(line)
#
# for i in range(len(line_n)):
# if line_n[i] not in self.alphabet:
# line_n[i] = 'x'
#
# if self.accepts(line_n):
# accepts.append('YES')
# else:
# accepts.append('NO')
#
# i = 0
# for line in open(expected):
# if line.rstrip() != accepts[i]:
# print('Incorrect in line ' + str(i))
# return
# i = i + 1
# print('Correct')

File diff suppressed because it is too large Load Diff

View File

@ -45,4 +45,4 @@ for line in sys.stdin:
if fsa.accepts(line): if fsa.accepts(line):
print('YES') print('YES')
else: else:
print('NO') print('NO')

View File

@ -1,14 +1,12 @@
import sys import sys
class NFA:
def __init__(self):
self.initial_state = '0'
self.final_states = set()
class FSA: self.transitions = dict()
self.alphabet = set()
def __init__(self,):
self.initial_state = '0'
self.final_states = set()
self.transitions = dict()
self.alphabet = set()
def add_transition(self, state_from, state_to, symbol): def add_transition(self, state_from, state_to, symbol):
@ -24,25 +22,32 @@ class FSA:
def add_final_state(self, state): def add_final_state(self, state):
self.final_states.add(state) self.final_states.add(state)
def get_final_states(self, string):
current_states = {self.initial_state}
for symbol in string:
current_states = {state for current_state in current_states for state in self.transitions.get(current_state, {}).get(symbol, set())}
return current_states
fsa = FSA() def accepts(self, string):
return any(final_state in self.final_states for final_state in self.get_final_states(string))
nfa = NFA()
table = open(sys.argv[1]) table = open(sys.argv[1])
for line in table: for line in table:
line = line.rstrip() line = line.rstrip('\n')
if len(line.split('\t')) == 3: if len(line.split('\t')) == 3:
a, b, c = line.split('\t') a, b, c = line.split('\t')
fsa.add_transition(a, b, c) c = c.replace("'","")
fsa.alphabet.add(c) c = list(c)
for x in c:
nfa.add_transition(a, b, x)
nfa.alphabet.add(x)
elif len(line.split('\t')) == 1:
nfa.add_final_state(line)
else: else:
fsa.add_final_state(line) assert False
for line in sys.stdin: for line in sys.stdin:
line = line.rstrip() print("YES" if nfa.accepts(line.strip()) else "NO")
if fsa.accepts(line):
print('YES')
else:
print('NO')

36
TaskE00/description.txt Normal file
View File

@ -0,0 +1,36 @@
Liczby podzielne przez 5
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy zadany napis jest liczbą całkowitą
podzielną przez 5. Napis nie powinien zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given string is an integer divisible by 5.
The string should not contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 0.
Attention. The task is for students whose students id remainder of the division by 10 is 0.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 0/10

10
TaskE00/test.exp Normal file
View File

@ -0,0 +1,10 @@
yes
yes
no
yes
no
no
yes
no
yes
no

10
TaskE00/test.in Normal file
View File

@ -0,0 +1,10 @@
-1005
-50
-76
0
00
01000
1000
353
465
@!q

35
TaskE01/description.txt Normal file
View File

@ -0,0 +1,35 @@
Liczby podzielne przez 25
=========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy zadany napis jest dodatnią liczbą
podzielną przez 25.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given string is a positive integer divisible by 25.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 1.
Attention. The task is for students whose students id remainder of the division by 10 is 1.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 1/10

8
TaskE01/test.exp Normal file
View File

@ -0,0 +1,8 @@
no
yes
yes
yes
no
no
no
no

8
TaskE01/test.in Normal file
View File

@ -0,0 +1,8 @@
0
1000
111111125
25
353
465
@!q
x50

36
TaskE02/description.txt Normal file
View File

@ -0,0 +1,36 @@
Kody pocztowe
=============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy wydobyć z kodu pocztowego kod miasta (2 pierwsze
cyfry). Jeśli napis nie jest kodem pocztowym, należy wypisać "<NONE>".
Zakładamy, że kod pocztowy składa się z 2 cyfr, minusa i 3 cyfr. Jeśli
napis nie spełnia podanych warunków, należy wypisać "<NONE>".
For each string, extract the postal code of a city (2 first digits).
If the string is not a postal code, you should print "<NONE>".
We assume that the postal code consists of 2 digits, minus character, and 3 digits.
If the string doesn't fulfill the condition, you should print "<NONE>".
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 2.
Attention. The task is for students whose students id remainder of the division by 10 is 2.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 2/10

6
TaskE02/test.exp Normal file
View File

@ -0,0 +1,6 @@
<NONE>
<NONE>
23
<NONE>
61
<NONE>

6
TaskE02/test.in Normal file
View File

@ -0,0 +1,6 @@
!@#$%^&
0-333
23-000
61-23
61-680
BigFoot

37
TaskE03/description.txt Normal file
View File

@ -0,0 +1,37 @@
Numer NIP
=========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest numerem NIP zapisanym w
formacie xxx-xxx-xx-xx bądź xxx-xx-xx-xxx. Nie trzeba brać pod uwagę sumy
kontrolnej.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the string is NIP number written in
xxx-xxx-xx-xx bądź xxx-xx-xx-xxx format. You don't need to consider a checksum.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 3.
Attention. The task is for students whose students id remainder of the division by 10 is 3.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 3/10

5
TaskE03/test.exp Normal file
View File

@ -0,0 +1,5 @@
yes
yes
yes
no
no

5
TaskE03/test.in Normal file
View File

@ -0,0 +1,5 @@
000-00-00-000
345-45-12-334
345-455-12-34
345-455-12-349
3454551234

37
TaskE04/description.txt Normal file
View File

@ -0,0 +1,37 @@
Telefon filmowy
===============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest 9-cyfrowym numerem
telefonu zapisanym w formacie "NNN-NNN-NNN" badź "NNN NNN NNN" zaczynającym
sie od kombinacji "555".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, you should check, if the string is a 9-digit phone number
written in "NNN-NNN-NNN" or "NNN NNN NNN" format, which starts with "555".
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 4.
Attention. The task is for students whose students id remainder of the division by 10 is 4.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 4/10

12
TaskE04/test.exp Normal file
View File

@ -0,0 +1,12 @@
no
no
no
yes
no
yes
no
yes
yes
no
no
no

12
TaskE04/test.in Normal file
View File

@ -0,0 +1,12 @@
055-555-555
505-324-555
551-233-455
555 000 000
555 000-000
555 123 456
555-000 000
555-000-000
555-123-456
556 345 667
556 345 6675
556 345-667

38
TaskE05/description.txt Normal file
View File

@ -0,0 +1,38 @@
Akronim
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest akronimem (ciągiem co
najmniej dwóch i co najwyżej pięciu wielkich liter. Dodatkowo należy
uwzględnić akronimy "PCMCIA" i "WYSIWYG".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is an acronym (sequence
of at least 2 and at most 5 capital letters.
Additionally, you should include acronyms "PCMCIA" i "WYSIWYG".
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 5.
Attention. The task is for students whose students id remainder of the division by 10 is 5.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 5/10

11
TaskE05/test.exp Normal file
View File

@ -0,0 +1,11 @@
no
yes
yes
no
yes
yes
no
no
no
yes
yes

11
TaskE05/test.in Normal file
View File

@ -0,0 +1,11 @@
AAAAAA
ABCDE
ATX
P
PC
PCMCIA
PCMCIB
Pc
WYSIWYA
WYSIWYG
ZZZZ

35
TaskE06/description.txt Normal file
View File

@ -0,0 +1,35 @@
Liczba pięcio bądź sześciocyfrowa
=================================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę pięcio-
bądź sześciocyfrową. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string represents
5 or 6 digits number. The number should not contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 6.
Attention. The task is for students whose students id remainder of the division by 10 is 6.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 6/10

10
TaskE06/test.exp Normal file
View File

@ -0,0 +1,10 @@
no
no
yes
yes
yes
yes
no
no
yes
yes

10
TaskE06/test.in Normal file
View File

@ -0,0 +1,10 @@
012345
0123456
10000
100001
12345
123456
333333333333
9999
99999
999999

35
TaskE07/description.txt Normal file
View File

@ -0,0 +1,35 @@
Gwiazdek
========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis składa się z samych gwiazdek
(co najmniej jednej).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string consists of only asterisks (at least one).
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 7.
Attention. The task is for students whose students id remainder of the division by 10 is 7.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 7/10

7
TaskE07/test.exp Normal file
View File

@ -0,0 +1,7 @@
yes
yes
yes
yes
no
no
no

7
TaskE07/test.in Normal file
View File

@ -0,0 +1,7 @@
*
**
***
***********
*a
+
a*

38
TaskE08/description.txt Normal file
View File

@ -0,0 +1,38 @@
Chichot
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest chichotem tzn. "hi"
powtórzonym przynajmniej 2 razy, po czym następuje opcjonalny ciąg
wykrzykników.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string consists of a sequence
"hi" repeated at least 2 times followed by optional sequences of
exclamation marks.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 8.
Attention. The task is for students whose students id remainder of the division by 10 is 8.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 8/10

10
TaskE08/test.exp Normal file
View File

@ -0,0 +1,10 @@
no
no
no
no
yes
yes
yes
yes
yes
no

10
TaskE08/test.in Normal file
View File

@ -0,0 +1,10 @@
!!!!!
!hi
hi
hi!!!
hihi
hihi!!!!!!!!!
hihihi
hihihi!
hihihihihihihihi
ih!

36
TaskE09/description.txt Normal file
View File

@ -0,0 +1,36 @@
Wielka litera i dwie cyfry w środku
===================================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis zawiera podciąg składający
się z wielkiej litery i dwóch cyfr.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string contains a substring
consisting of the capital letter and two digits.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 10 z resztą 9.
Attention. The task is for students whose students id remainder of the division by 10 is 9.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 9/10

9
TaskE09/test.exp Normal file
View File

@ -0,0 +1,9 @@
yes
no
no
yes
no
no
no
yes
yes

9
TaskE09/test.in Normal file
View File

@ -0,0 +1,9 @@
G3923d
G9
Ha3a5
Z00
Z0x0
az33a
dsdg34
hahaA39dsdsd
sssssssssssU23

37
TaskE10/description.txt Normal file
View File

@ -0,0 +1,37 @@
Podzielność liczby wystąpień
============================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy zadany napis jest potęgą liczby 2
zapisaną w systemie szesnastkowym. Liczba nie powinna zawierać zer
nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string is a power of 2 written in the hexadecimal system.
The number should not contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 10.
Attention. The task is for students whose students id remainder of the division by 27 is 10.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 10/27

12
TaskE10/test.exp Normal file
View File

@ -0,0 +1,12 @@
no
no
no
yes
yes
yes
no
no
yes
yes
no
no

12
TaskE10/test.in Normal file
View File

@ -0,0 +1,12 @@
0
0008000
08000
1
2
400
400 400
4020
8000
800000
8888
A0

40
TaskE11/description.txt Normal file
View File

@ -0,0 +1,40 @@
Podzielność przez cztery
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy zadany napis - zapisany
dziesiętnie bądź szesnastkowo jest podzielny przez 4. Zapis szesnastkowy
jest sygnalizowany przez prefiks "0x", cyfry szesnastkowe zapisywane jako
wielkie litery. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string (written in hexadecimal
or decimal system) is divisible by 4. A hexadecimal number
is prefixed by "0x" and hexadecimal letters are capital letters.
The number should not contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 11.
Attention. The task is for students whose students id remainder of the division by 27 is 11.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 11/27

17
TaskE11/test.exp Normal file
View File

@ -0,0 +1,17 @@
yes
no
yes
no
no
no
yes
no
yes
no
yes
yes
no
yes
yes
no
yes

17
TaskE11/test.in Normal file
View File

@ -0,0 +1,17 @@
0
088
0x0
0x00B
0x00C
0x2
0x34
0xB
0xC
1
100000
16
34
34536
4
4 4
88

38
TaskE12/description.txt Normal file
View File

@ -0,0 +1,38 @@
Nie koński łeb
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest numerem telefonu
zapisanym w formacie N-NNN-NNNNN-NNNN (N to dowolna cyfra), innym niż numer
telefonu 1-500-56773-4323.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given string is a phone number
wirtten in N-NNN-NNNNN-NNNN format (N is any digit), other than
1-500-56773-4323 phone number.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 12.
Attention. The task is for students whose students id remainder of the division by 27 is 12.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 12/27

6
TaskE12/test.exp Normal file
View File

@ -0,0 +1,6 @@
no
yes
yes
no
yes
yes

6
TaskE12/test.in Normal file
View File

@ -0,0 +1,6 @@
09-333-56773-4324
1-500-00000-0000
1-500-55773-4323
1-500-56773-4323
1-500-56773-4324
9-333-56773-4324

42
TaskE13/description.txt Normal file
View File

@ -0,0 +1,42 @@
Nie koński łeb 2
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest napisem złożonym z
ciągu 5 wielkich liter i 4 wielkich liter oddzielonych spacją, które
wstukane na standardowym telefonie dadzą inny numer niż uzyskane przez
wstukanie napisu "HORSE HEAD". Zakładamy standardowe mapowanie liter na
cyfry w telefonie ("ABC" - 2, "DEF" - 3 itd.)
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given string consists of
5 capital letters and 4 capital letter separated by space,
which written in old cellphone keyboard shows another number than typing
"HORSE HEAD". We assume standard old cellphone keyboard mapping
("ABC" - 2, "DEF" - 3 etc.)
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 13.
Attention. The task is for students whose students id remainder of the division by 27 is 13.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 13/27

9
TaskE13/test.exp Normal file
View File

@ -0,0 +1,9 @@
no
yes
no
no
no
yes
no
yes
no

9
TaskE13/test.in Normal file
View File

@ -0,0 +1,9 @@
0MORSE HEAD
AAAAA BBBB
AAAAAA BBBB
GOSRE IDAD
HORSE HEAD
MORSE HEAD
MORSEHEAD
ZOSRE IDAD
morse head

38
TaskE14/description.txt Normal file
View File

@ -0,0 +1,38 @@
Nie 555
=======
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest 9-cyfrowym numerem
telefonu zapisanym w formacie "NNN-NNN-NNN" badź "NNN NNN NNN"
niezaczynającym sie od kombinacji "555".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given number is 9 digit phone
number written in "NNN-NNN-NNN" or "NNN NNN NNN" format,
which does not start with "555"
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 14.
Attention. The task is for students whose students id remainder of the division by 27 is 14.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 14/27

7
TaskE14/test.exp Normal file
View File

@ -0,0 +1,7 @@
yes
yes
yes
no
yes
no
no

7
TaskE14/test.in Normal file
View File

@ -0,0 +1,7 @@
055-555-555
505-324-555
551-233-455
555-123-456
556 345 667
556 345 6675
556 345-667

40
TaskE15/description.txt Normal file
View File

@ -0,0 +1,40 @@
Wynik-zwycięstwo
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wynik meczu
piłkarskiego (dwie liczby oddzielone dwukropkiem bądź minusem), przy czym
pierwsza liczba jest większa od drugiej. Maksymalna liczba bramek
zwycięskiej drużyny wynosi 11.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string stands for
a soccer match result (two numbers separated by colon or minus character).
The first number should be greater than the second.
The maximum number of leading team is 11.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 15.
Attention. The task is for students whose students id remainder of the division by 27 is 15.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 15/27

12
TaskE15/test.exp Normal file
View File

@ -0,0 +1,12 @@
no
yes
yes
no
no
yes
no
yes
yes
no
no
yes

12
TaskE15/test.in Normal file
View File

@ -0,0 +1,12 @@
10-10
10-9
11-10
11-11
12:0
2:1
2:5
3-1
5:2
5:2 3:1
5:21
7-0

41
TaskE16/description.txt Normal file
View File

@ -0,0 +1,41 @@
Równanie
========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje proste równanie
typu "A @ B = C", gdzie w miejscu A, B, C mogą pojawić się liczby dodatnie
(bez nieznaczących zer) bądź zmienna "x" (zmienna "x" - dokładnie jeden raz
w całym równaniu. '@' którąś z operacji - '+', '-', '*', '/'. Operatory
arytmetyczne i równości mogą być otoczone przez spacje.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string stands for "A @ B = C" equation,
where A, B, C are positive integers (no leading zeros) or "x" variable (only
one "x" in the queation). "@" is of on '+', '-', '*', '/' operators.
Arithmetic operators may be separated by spaces.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 16.
Attention. The task is for students whose students id remainder of the division by 27 is 16.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 16/27

8
TaskE16/test.exp Normal file
View File

@ -0,0 +1,8 @@
yes
no
no
yes
yes
yes
no
yes

8
TaskE16/test.in Normal file
View File

@ -0,0 +1,8 @@
14 / x = 2
2 + 2 + x = 8
2 + 2 = 4
2 + x = 4
23 - x=13
5+2=x
x + x = 16
x* 343=90900

39
TaskE17/description.txt Normal file
View File

@ -0,0 +1,39 @@
Formy czasownika
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest formą czasownika
zakończonego na "ować". Należy uwzględnić wszystkie formy z wyjątkiem
imiesłowów. Napis musi być ciągiem małych liter (włącznie z polskimi
literami).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is a verb ending with "ować".
You should include all forms, but a participle. The string should
be a sequence of lower case letters (including polish letters)
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 17.
Attention. The task is for students whose students id remainder of the division by 27 is 17.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 17/27

10
TaskE17/test.exp Normal file
View File

@ -0,0 +1,10 @@
no
yes
no
yes
yes
yes
no
yes
yes
yes

10
TaskE17/test.in Normal file
View File

@ -0,0 +1,10 @@
Abonować
abonować
abonowaćxxx
anonsuje
anonsuję
modemowałyście
prowokowany
prowokuj
sprowokuje
óęererłujemy

41
TaskE18/description.txt Normal file
View File

@ -0,0 +1,41 @@
Numer wiersza z Ewangelii
=========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest oznaczeniem wiersza z
Ewangelii (w rodzaju "Mt 17, 3"). Skróty Ewangelii - "Mt", "Mk", "Łk", "J",
liczba rozdziałów odpowiednio - 28, 16, 24, 22. Wiersz liczba z zakresu
1-99 (nie trzeba sprawdzać czy faktycznie tyle jest w poszczególnych
rozdziałach).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is Evangel line number
(like "Mt 17, 3"). Evangel abbreviations - "Mt", "Mk", "Łk", "J",
paragraphs numbers correspondingly 28, 16, 24, 22. Verset name is 1-99.
You don't need to check if there are such versets in the real Evangel.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 18.
Attention. The task is for students whose students id remainder of the division by 27 is 18.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 18/27

8
TaskE18/test.exp Normal file
View File

@ -0,0 +1,8 @@
yes
no
yes
no
yes
yes
yes
no

8
TaskE18/test.in Normal file
View File

@ -0,0 +1,8 @@
J 22, 99
J 23, 1
Mk 16, 9
Mk 17, 9
Mk 7, 9
Mt 1, 1
Łk 24, 3
Łk 30, 1

35
TaskE19/description.txt Normal file
View File

@ -0,0 +1,35 @@
Potęga setki
============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy zadany napis jest potęgą liczby
100.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the given string is the power of 100.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 19.
Attention. The task is for students whose students id remainder of the division by 27 is 19.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 19/27

9
TaskE19/test.exp Normal file
View File

@ -0,0 +1,9 @@
no
yes
no
yes
yes
yes
no
no
no

9
TaskE19/test.in Normal file
View File

@ -0,0 +1,9 @@
-100
1
10
100
10000
1000000
1001
2000
500

36
TaskE20/description.txt Normal file
View File

@ -0,0 +1,36 @@
Numer telefonu
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy wydobyć zadany napis jest numerem telefonu.
Zakładamy, że numer telefonu składa się z dwóch cyfr opcjonalnie
poprzedzonych zerem, po których następuje spacja i 7 cyfr w formacie
N-NNN-NNN. Jeśli napis nie spełnia podanych warunków, należy wypisać
"<NONE>".
For each string, extract a phone number. We assume, that the phone
number consists of two digits (optionally prefixed by zero), followed
by space and 7 digits in N-NNN-NNN format. If the string does
not fulfill the condition, print "<NONE>".
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 20.
Attention. The task is for students whose students id remainder of the division by 27 is 20.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 20/27

6
TaskE20/test.exp Normal file
View File

@ -0,0 +1,6 @@
yes
yes
no
yes
yes
no

6
TaskE20/test.in Normal file
View File

@ -0,0 +1,6 @@
00 0-000-000
000 0-000-000
0000 0-000-000
061 5-555-553
61 5-555-553
61 5-555-5534

40
TaskE21/description.txt Normal file
View File

@ -0,0 +1,40 @@
Koński łeb
==========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest napisem złożonym z
ciągu 5 wielkich liter i 4 wielkich liter oddzielonych spacją, które
wstukane na standardowym telefonie dadzą taki sam numer jak przy wstukaniu
napisu "HORSE HEAD". Zakładamy standardowe mapowanie liter na cyfry w
telefonie ("ABC" - 2, "DEF" - 3 itd.)
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string consists of 5 capital letters
and 4 lower case letter separated by space, which written on
an old cell phone keyboard gives the same number as typing "HORSE HEAD".
We assume standard old phone keyboard mapping ("ABC" - 2, "DEF" - 3, etc.)
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 21.
Attention. The task is for students whose students id remainder of the division by 27 is 21.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 21/27

9
TaskE21/test.exp Normal file
View File

@ -0,0 +1,9 @@
no
no
no
yes
yes
no
no
no
no

9
TaskE21/test.in Normal file
View File

@ -0,0 +1,9 @@
0MORSE HEAD
AAAAA BBBB
AAAAAA BBBB
GOSRE IDAD
HORSE HEAD
MORSE HEAD
MORSEHEAD
ZOSRE IDAD
morse head

36
TaskE22/description.txt Normal file
View File

@ -0,0 +1,36 @@
Wynik meczu
===========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wynik meczu
piłkarskiego (dwie liczby oddzielone dwukropkiem). Maksymalna (sumaryczna)
liczba bramek wynosi 10.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string stands for a soccer match result
(two numbers separated by a colon). The Maximum (sum of two teams) number of goals is 10.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 22.
Attention. The task is for students whose students id remainder of the division by 27 is 22.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 22/27

11
TaskE22/test.exp Normal file
View File

@ -0,0 +1,11 @@
yes
yes
no
yes
no
no
no
yes
yes
no
no

11
TaskE22/test.in Normal file
View File

@ -0,0 +1,11 @@
0:7
10:10
11:2
2:1
3
3:101
5-5
5:2
5:5
:3
xxxx

36
TaskE23/description.txt Normal file
View File

@ -0,0 +1,36 @@
Wiek człowieka
==============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje wiek człowieka,
tzn. jest postaci typu "45 lat". Maksymalny wiek - 99 lat.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string stands for human age (is in
form of "45 lat"). The maximum age is 99 years.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 23.
Attention. The task is for students whose students id remainder of the division by 27 is 23.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 23/27

14
TaskE23/test.exp Normal file
View File

@ -0,0 +1,14 @@
yes
no
yes
no
yes
no
yes
no
yes
yes
yes
yes
yes
yes

14
TaskE23/test.in Normal file
View File

@ -0,0 +1,14 @@
1 rok
100 lat
11 lat
112 lat
12 lat
12 lata
2 lata
22 lat
22 lata
3 lata
4 lata
44 lata
5 lat
99 lat

40
TaskE24/description.txt Normal file
View File

@ -0,0 +1,40 @@
Imię i nazwisko mężczyzny.
==========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje imię i nazwisko
mężczyzny. Imię i nazwisko to przynajmniej dwuliterowy napis zaczynający
się wielką literą, po której następują małe litery. Dodatkowo imię nie może
kończyć się na "a".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string stands for the first name and last name
of a man. First name and last name are at least two character string
starting with the capital letter, followed by lower case letter.
Additionally, the First name can not finish with "a".
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 24.
Attention. The task is for students whose students id remainder of the division by 27 is 24.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 24/27

8
TaskE24/test.exp Normal file
View File

@ -0,0 +1,8 @@
no
yes
yes
yes
yes
no
yes
yes

8
TaskE24/test.in Normal file
View File

@ -0,0 +1,8 @@
Aa Ax
Ai Oi
Atanazy Bazakbal
Ax Aa
Jan Maska
Joanna Kowalska
Kim Bo
Oo Oo

39
TaskE25/description.txt Normal file
View File

@ -0,0 +1,39 @@
Imię i nazwisko kobiety.
========================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje imię i nazwisko
kobiety. Imię i nazwisko to przynajmniej dwuliterowy napis zaczynający się
wielką literą, po której następują małe litery. Dodatkowo imię musi kończyć
się na "a".
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string stands for the first name and last name
of a woman. First name and last name are at least two character string
starting with the capital letter, followed by lower case letter.
Additionally, the First name must finish with "a".
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 25.
Attention. The task is for students whose students id remainder of the division by 27 is 25.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 25/27

9
TaskE25/test.exp Normal file
View File

@ -0,0 +1,9 @@
yes
no
no
no
no
yes
no
no
yes

9
TaskE25/test.in Normal file
View File

@ -0,0 +1,9 @@
Aa Ax
Ai Oi
Atanazy Bazakbal
Ax Aa
Jan Maska
Joanna Kowalska
Kim Bo
Oo Oo
Za Mysz

38
TaskE26/description.txt Normal file
View File

@ -0,0 +1,38 @@
Liczba całkowita
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę
całkowitą. Liczba nie powinna zawierać zer nieznaczących. Liczby dodatnie
mogą opcjonalnie zaczynać się plusem.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is an integer.
The number should not contain leading zeros. Positive numbers
can optionally start with a plus character.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 26.
Attention. The task is for students whose students id remainder of the division by 27 is 26.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 26/27

11
TaskE26/test.exp Normal file
View File

@ -0,0 +1,11 @@
no
yes
no
yes
yes
yes
no
no
yes
yes
yes

11
TaskE26/test.in Normal file
View File

@ -0,0 +1,11 @@
+0
+5
-0
-11110
-5
0
03434343435
06
100
3434343435
5

38
TaskE27/description.txt Normal file
View File

@ -0,0 +1,38 @@
Liczba mniejsza niż 144
=======================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje liczbę
całkowitą nieujemną mniejszą niż 143. Liczba nie powinna zawierać zer
nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string check, if the given string stands for
non-negative integer lower than 143. The number should not
contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 0.
Attention. The task is for students whose students id remainder of the division by 27 is 0.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 0/27

13
TaskE27/test.exp Normal file
View File

@ -0,0 +1,13 @@
no
yes
no
no
no
yes
yes
yes
no
no
yes
yes
yes

13
TaskE27/test.in Normal file
View File

@ -0,0 +1,13 @@
-1
0
05
098
1000
103
139
142
143
144
5
78
99

38
TaskE28/description.txt Normal file
View File

@ -0,0 +1,38 @@
Nazwą domenową.
===============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis reprezentuje nazwę domenową.
Zakładamy, że nazwa domenowa składa się z 2 lub 3 członów oddzielonych
kropkami. Każdy człon to ciąg małych liter.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string stands for a domain name.
We assume, that the domain names consist of 2 or 3 digits
separated by dots. Every element is a sequence of lower case letters.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 1.
Attention. The task is for students whose students id remainder of the division by 27 is 1.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 1/27

9
TaskE28/test.exp Normal file
View File

@ -0,0 +1,9 @@
yes
no
no
no
yes
yes
no
yes
yes

9
TaskE28/test.in Normal file
View File

@ -0,0 +1,9 @@
bla.pl
bla1.pl
foo..tv
foo.pl.
foo.tv
www.bla.pl
www.haha.bla.pl
x.y.z
z.z

36
TaskE29/description.txt Normal file
View File

@ -0,0 +1,36 @@
Identyfikator
=============
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest identyfikatorem
(ciągiem liter, cyfr i podkreślników nie zaczynających się cyfrą).
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is an id (sequence of letters, digits
and underscores starting with a digit).
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 2.
Attention. The task is for students whose students id remainder of the division by 27 is 2.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 2/27

11
TaskE29/test.exp Normal file
View File

@ -0,0 +1,11 @@
no
no
no
yes
yes
yes
yes
yes
yes
yes
yes

11
TaskE29/test.in Normal file
View File

@ -0,0 +1,11 @@
%haha%
0zmienna
2
Gitorah
_2
_____
_a_
blo_34a
godzilla
x
z0000000

36
TaskE30/description.txt Normal file
View File

@ -0,0 +1,36 @@
Temperatura
===========
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest liczbą całkowitą
zakresu od -49 do 49. Liczba nie powinna zawierać zer nieznaczących.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is an integer from -49 to 49.
The integer should not contain leading zeros.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 3.
Attention. The task is for students whose students id remainder of the division by 27 is 3.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 3/27

11
TaskE30/test.exp Normal file
View File

@ -0,0 +1,11 @@
no
yes
yes
no
yes
yes
no
yes
yes
no
yes

11
TaskE30/test.in Normal file
View File

@ -0,0 +1,11 @@
-200
-21
-49
-50
-9
0
100
18
49
50
7

37
TaskE31/description.txt Normal file
View File

@ -0,0 +1,37 @@
Jedna samogłoska
================
Napisać program, który wczytuje kolejne wiersze ze standardowego
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
użyć negacji jako operacji w danym języku programowania, jeśli da się
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
użyć pojedynczego wyrażenia regularnego.
Write a program, which loads consecutive lines from standard input
and analyze every line (with no newline character). You should
use regular expressions to the greatest extent possible (e.g. you
can not use negation in the programming language if it is
possible to express the same in regular expression). Wherever possible,
use one regular expression.
Dla każdego napisu należy sprawdzić, czy napis jest wyrazem zawierającym
dokładnie jedną samogłoskę. Należy uwzględnić małe litery alfabetu
łacińskiego.
Jeśli napis spełnia tak określony warunek, należy wypisać na
standardowym wyjściu 'yes', w przeciwnym razie — 'no'.
For each string, check if the string is an expression containing
exactly one vowel. You should consider lower case Latin alphabet letters.
If the string fulfills the condition, you should print 'yes' on the
standard output and 'no' otherwise.
UWAGA! Zadanie przeznaczone dla studentów, których numer indeksu
dzieli się przez 27 z resztą 4.
Attention. The task is for students whose students id remainder of the division by 27 is 4.
POINTS: 1
DEADLINE: 2023-12-10 23:59:59
REMAINDER: 4/27

Some files were not shown because too many files have changed in this diff Show More