Compare commits
No commits in common. "master" and "7534251f7b621385598ab75bfd7369f4a252594f" have entirely different histories.
master
...
7534251f7b
@ -2,7 +2,7 @@
|
|||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="jdk" jdkName="Python 3.10" jdkType="Python SDK" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="Encoding">
|
|
||||||
<file url="file://$PROJECT_DIR$/TaskF05/simple.out" charset="windows-1252" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
@ -2,7 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/djfz-2023.iml" filepath="$PROJECT_DIR$/.idea/djfz-2023.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/djfz-2023-s464933n.iml" filepath="$PROJECT_DIR$/.idea/djfz-2023-s464933n.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
169
README.md
169
README.md
@ -10,13 +10,13 @@ Gdyby była potrzeba przedyskutowania czegoś to możemy zostać po zajęciach.
|
|||||||
W celu zaliczenia przedmiotu należy zdobyć punkty za zadania na laboratoriach oraz zaliczyć kolokwium.
|
W celu zaliczenia przedmiotu należy zdobyć punkty za zadania na laboratoriach oraz zaliczyć kolokwium.
|
||||||
Punktowane zadania będziemy wykonywać na laboratoriach oraz po nich (przed następnymi zajęciami), ich ilość determinuje ocenę.
|
Punktowane zadania będziemy wykonywać na laboratoriach oraz po nich (przed następnymi zajęciami), ich ilość determinuje ocenę.
|
||||||
Oprócz tego należy zaliczyć kolokwium z wyrażeń regularnych na ostatnich zajęciach. Sam wynik kolokwium
|
Oprócz tego należy zaliczyć kolokwium z wyrażeń regularnych na ostatnich zajęciach. Sam wynik kolokwium
|
||||||
nie będzie wpływał na ocenę, ale bez zdanego kolokwium nie da się zaliczyć przedmiotu. Punktacja za zadania jest następująca:
|
nie będzie wpływał na ocenę, ale bez zdanego kolowkium nie da się zaliczyć przedmiotu. Punktacja za zadania jest następująca:
|
||||||
- mniej niż 29 punktów - 2
|
- mniej niż 30 punktów - 2
|
||||||
- 29-33- 3
|
- 30-34- 3
|
||||||
- 34-38- 3.5
|
- 35-39- 3.5
|
||||||
- 39-43- 4
|
- 40-44- 4
|
||||||
- 44-48- 4.5
|
- 45-49- 4.5
|
||||||
- więcej niż 48- 5
|
- więcej niż 49- 5
|
||||||
|
|
||||||
#### Wysyłanie zadań
|
#### Wysyłanie zadań
|
||||||
|
|
||||||
@ -238,157 +238,4 @@ print(r"\")
|
|||||||
re.search('\\', r'a\bc')
|
re.search('\\', r'a\bc')
|
||||||
re.search(r'\\', r'a\bc')
|
re.search(r'\\', r'a\bc')
|
||||||
re.search('\\\\', r'a\bc')
|
re.search('\\\\', r'a\bc')
|
||||||
```
|
```
|
||||||
## Zajęcia 4 27.11.2023 Wyrażenia regularne 2
|
|
||||||
|
|
||||||
E00 - E09 - po jedno dla każdego
|
|
||||||
|
|
||||||
E10 - E36 - po jedno dla każdego
|
|
||||||
|
|
||||||
E37 - E43 - po jedno dla każdego
|
|
||||||
|
|
||||||
E44 - E48 - po jedno dla każdego
|
|
||||||
|
|
||||||
## Zajęcia 5 11.12.2023 Wyrażenia regularne 3
|
|
||||||
|
|
||||||
F00 - F05 - do wykonania przez każdego
|
|
||||||
|
|
||||||
Proszę o przekopiowanie sobie pliku polish_wiki_excerpt.in z zadania F00 do katalogów z pozostałymi zadaniami
|
|
||||||
|
|
||||||
#### RE SUB
|
|
||||||
```
|
|
||||||
re.sub(pattern, replacement, string)
|
|
||||||
|
|
||||||
re.sub('a','b', 'ala ma kota')
|
|
||||||
```
|
|
||||||
|
|
||||||
#### backreferencje:
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
re.search(r' \d+ \d+', 'ala ma 41 41 kota')
|
|
||||||
re.search(r' \d+ \d+', 'ala ma 41 123 kota')
|
|
||||||
re.search(r' (\d+) \1', 'ala ma 41 41 kota')
|
|
||||||
re.search(r' (\d+) \1', 'ala ma 41 123 kota')
|
|
||||||
```
|
|
||||||
|
|
||||||
#### lookahead ( to sa takie assercje):
|
|
||||||
```
|
|
||||||
re.search(r'ma kot', 'ala ma kot')
|
|
||||||
re.search(r'ma kot(?=[ay])', 'ala ma kot')
|
|
||||||
re.search(r'ma kot(?=[ay])', 'ala ma kotka')
|
|
||||||
re.search(r'ma kot(?=[ay])', 'ala ma koty')
|
|
||||||
re.search(r'ma kot(?=[ay])', 'ala ma kota')
|
|
||||||
|
|
||||||
re.search(r'ma kot(?![ay])', 'ala ma kot')
|
|
||||||
re.search(r'ma kot(?![ay])', 'ala ma kotka')
|
|
||||||
re.search(r'ma kot(?![ay])', 'ala ma koty')
|
|
||||||
re.search(r'ma kot(?![ay])', 'ala ma kota')
|
|
||||||
```
|
|
||||||
|
|
||||||
#### named groups
|
|
||||||
```
|
|
||||||
r = re.search(r'ma (?P<ilepsow>\d+) kotow i (?P<ilekotow>\d+) psow', 'ala ma 100 kotow i 200 psow')
|
|
||||||
r.groups()
|
|
||||||
r.groups('ilepsow')
|
|
||||||
r.groups('ilekotow')
|
|
||||||
```
|
|
||||||
|
|
||||||
#### re.split
|
|
||||||
```
|
|
||||||
('a,b.c,d').split(',')
|
|
||||||
('a,b.c,d').split(',')
|
|
||||||
('a,b.c,d').split(',.')
|
|
||||||
re.split(r',', 'a,b.c,d')
|
|
||||||
re.split(r'[.,]', 'a,b.c,d')
|
|
||||||
```
|
|
||||||
#### \w word character
|
|
||||||
```
|
|
||||||
\w - matchuje Unicod word character , jeżeli flaga ASCII to [a-zA-Z0-9_]
|
|
||||||
\w - odwrotne do \W, jezeli flaga ASCI to [^a-zA-Z0-9_]
|
|
||||||
|
|
||||||
re.findall(r'\w+', 'ala ma 3 koty.')
|
|
||||||
re.findall(r'\W+', 'ala ma 3 koty.')
|
|
||||||
```
|
|
||||||
#### początek albo koniec słowa | word boundary
|
|
||||||
```
|
|
||||||
re.search(r'\bkot\b', 'Ala ma kota')
|
|
||||||
re.search(r'\bkot\b', 'Ala ma kot')
|
|
||||||
re.search(r'\bkot\b', 'Ala ma kot.')
|
|
||||||
re.search(r'\bkot\b', 'Ala ma kot ')
|
|
||||||
|
|
||||||
re.search(r'\Bot\B', 'Ala ma kot ')
|
|
||||||
re.search(r'\Bot\B', 'Ala ma kota ')
|
|
||||||
```
|
|
||||||
#### MULTILINE
|
|
||||||
```
|
|
||||||
re.findall(r'^Ma', 'Ma kota Ala\nMa psa Jacek')
|
|
||||||
re.findall(r'^Ma', 'Ma kota Ala\nMa psa Jacek', re.MULTILINE)
|
|
||||||
```
|
|
||||||
F00 - F05 - do wykonania przez każdego
|
|
||||||
|
|
||||||
|
|
||||||
## Zajęcia 6 8.01.2024 Kodowanie i re2
|
|
||||||
|
|
||||||
Proszę o przekopiowanie sobie pliku polish_wiki_excerpt.in z zadania F00 do katalogów G00, G03.
|
|
||||||
|
|
||||||
Instalacja biblioteki re2: https://pypi.org/project/google-re2/
|
|
||||||
|
|
||||||
### DFA i NDFA
|
|
||||||
|
|
||||||
```
|
|
||||||
import re2 as re
|
|
||||||
n = 50
|
|
||||||
regexp = "a?"*n+"a"*n
|
|
||||||
s = "a"*n
|
|
||||||
re.match(regexp, s)
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
re.match(r"(\d)abc\1", "3abc3") # re2 nie obsługuje backreferencji
|
|
||||||
```
|
|
||||||
|
|
||||||
re2 max memory - podniesienie limitu
|
|
||||||
```
|
|
||||||
setting = re2.Options()
|
|
||||||
setting.max_mem = 1 << 30 # to jest rozmiar podany w bajtach, czyli tutaj 1GB - to jest maksimum o ile możemy podnieść limit
|
|
||||||
pattern = re2.compile(regexp, setting)
|
|
||||||
```
|
|
||||||
|
|
||||||
time # mierzenie czasu działania
|
|
||||||
```
|
|
||||||
start = time.time()
|
|
||||||
withre2()
|
|
||||||
d1 = t1ime.time() - start
|
|
||||||
print(f'That took {d1:.2f} seconds.\n')
|
|
||||||
```
|
|
||||||
Gdyby ktoś chciał poczytać więcej:
|
|
||||||
https://swtch.com/~rsc/regexp/regexp1.html
|
|
||||||
|
|
||||||
### UTF-8
|
|
||||||
```
|
|
||||||
c = "ℋ"
|
|
||||||
ord(c)
|
|
||||||
chr(8459)
|
|
||||||
8* 16**2 + 0 * 16**(1) + 0*16**(0)
|
|
||||||
15*16**3 + 15* 16**2 + 15 * 16**(1) + 15*16**(0)
|
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
xxd -b file
|
|
||||||
xxd file
|
|
||||||
```
|
|
||||||
|
|
||||||
## KOLOKWIUM 2024-01-22
|
|
||||||
Operatory, obowiązujące na kolokwium
|
|
||||||
====================================
|
|
||||||
|
|
||||||
* kwantyfikatory `-` `*` `+` `?` `{n}` `{n,}` `{n, m}`
|
|
||||||
* alternatywa — `|`
|
|
||||||
* klasy znaków — `[...]`
|
|
||||||
* zanegowane klasy znaków — `[^...]`
|
|
||||||
* dowolny znak — `.`
|
|
||||||
* unieważnianie znaków specjalnych — \
|
|
||||||
* operatory zakotwiczające — `^` `$`
|
|
||||||
|
|
||||||
W repozytorium znajdują się przykładowe pliki z zadaniami.
|
|
@ -1,9 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
@ -1,14 +0,0 @@
|
|||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
@ -0,0 +1 @@
|
|||||||
|
q
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
|||||||
NO
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
YES
|
|
||||||
YES
|
|
@ -1,201 +0,0 @@
|
|||||||
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
|
|
@ -1,96 +0,0 @@
|
|||||||
# 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
@ -1,5 +1,5 @@
|
|||||||
import sys
|
import sys
|
||||||
import copy
|
|
||||||
|
|
||||||
class FSA:
|
class FSA:
|
||||||
|
|
||||||
@ -20,27 +20,11 @@ class FSA:
|
|||||||
else:
|
else:
|
||||||
self.transitions[state_from] = dict()
|
self.transitions[state_from] = dict()
|
||||||
self.transitions[state_from][symbol] = {state_to}
|
self.transitions[state_from][symbol] = {state_to}
|
||||||
def get_final_state(self, string):
|
|
||||||
|
|
||||||
current_states = {self.initial_state}
|
|
||||||
for symbol in string:
|
|
||||||
new_current_states = set()
|
|
||||||
for current_state in current_states:
|
|
||||||
try:
|
|
||||||
new_current_states |= self.transitions[current_state][symbol]
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
current_states = copy.deepcopy(new_current_states)
|
|
||||||
return current_states
|
|
||||||
|
|
||||||
def add_final_state(self, state):
|
def add_final_state(self, state):
|
||||||
self.final_states.add(state)
|
self.final_states.add(state)
|
||||||
def accepts(self, string):
|
|
||||||
final_states = self.get_final_states(string)
|
|
||||||
for final_state in final_states:
|
|
||||||
if final_state in self.final_states:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
fsa = FSA()
|
fsa = FSA()
|
||||||
|
|
||||||
table = open(sys.argv[1])
|
table = open(sys.argv[1])
|
||||||
@ -61,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')
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
class NFA:
|
|
||||||
def __init__(self):
|
|
||||||
self.initial_state = '0'
|
|
||||||
self.final_states = set()
|
|
||||||
|
|
||||||
self.transitions = dict()
|
class FSA:
|
||||||
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):
|
||||||
|
|
||||||
@ -22,32 +24,25 @@ class NFA:
|
|||||||
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
|
|
||||||
|
|
||||||
def accepts(self, string):
|
fsa = FSA()
|
||||||
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('\n')
|
line = line.rstrip()
|
||||||
if len(line.split(' ')) == 3:
|
|
||||||
a, b, c = line.split(' ')
|
if len(line.split('\t')) == 3:
|
||||||
c = c.replace("'","")
|
a, b, c = line.split('\t')
|
||||||
c = list(c)
|
fsa.add_transition(a, b, c)
|
||||||
for x in c:
|
fsa.alphabet.add(c)
|
||||||
nfa.add_transition(a, b, x)
|
|
||||||
nfa.alphabet.add(x)
|
|
||||||
elif len(line.split(' ')) == 1:
|
|
||||||
nfa.add_final_state(line)
|
|
||||||
else:
|
else:
|
||||||
assert False
|
fsa.add_final_state(line)
|
||||||
|
|
||||||
|
|
||||||
for line in sys.stdin:
|
for line in sys.stdin:
|
||||||
print("YES" if nfa.accepts(line.strip()) else "NO")
|
line = line.rstrip()
|
||||||
|
|
||||||
|
if fsa.accepts(line):
|
||||||
|
print('YES')
|
||||||
|
else:
|
||||||
|
print('NO')
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
YES
|
|
||||||
YES
|
|
||||||
YES
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
||||||
NO
|
|
3512
TaskC06/medium.out
3512
TaskC06/medium.out
File diff suppressed because it is too large
Load Diff
@ -1,40 +0,0 @@
|
|||||||
import sys
|
|
||||||
|
|
||||||
class FSA:
|
|
||||||
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):
|
|
||||||
if state_from in self.transitions.keys():
|
|
||||||
if symbol not in self.transitions[state_from].keys():
|
|
||||||
self.transitions[state_from][symbol] = {state_to}
|
|
||||||
else:
|
|
||||||
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_all_paths(self):
|
|
||||||
paths = []
|
|
||||||
stack = [('', '0')]
|
|
||||||
while stack:
|
|
||||||
current_path, current_state = stack.pop()
|
|
||||||
if current_state in self.final_states:
|
|
||||||
paths.append(current_path)
|
|
||||||
if current_state in self.transitions:
|
|
||||||
for symbol, states in self.transitions[current_state].items():
|
|
||||||
stack.extend((current_path + symbol, state) for state in states)
|
|
||||||
return sorted(paths)
|
|
||||||
|
|
||||||
fsa = FSA()
|
|
||||||
|
|
||||||
for line in sys.stdin:
|
|
||||||
parts = line.strip().split('\t')
|
|
||||||
if parts == ['']: break
|
|
||||||
[fsa.add_transition(parts[0], parts[1], parts[2]) for parts in [parts]] if len(parts) == 3 else fsa.add_final_state(parts[0])
|
|
||||||
for path in fsa.get_all_paths():
|
|
||||||
print(path)
|
|
@ -1,4 +0,0 @@
|
|||||||
biały
|
|
||||||
dom
|
|
||||||
piła
|
|
||||||
stali
|
|
@ -1,3 +0,0 @@
|
|||||||
biały
|
|
||||||
piła
|
|
||||||
stali
|
|
@ -1,11 +0,0 @@
|
|||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def re_find_hamlet(input):
|
|
||||||
for _, l in enumerate(input, start=1):
|
|
||||||
if re.search(r'\bHamlet\b', l):
|
|
||||||
print(l.strip())
|
|
||||||
|
|
||||||
|
|
||||||
re_find_hamlet(sys.stdin)
|
|
@ -1,2 +0,0 @@
|
|||||||
Here comes Hamlet
|
|
||||||
Hamlet Hamlet again
|
|
@ -1,11 +0,0 @@
|
|||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def pies(input):
|
|
||||||
for _, l in enumerate(input, start=1):
|
|
||||||
if re.search(r'\bpies\b', l, flags=re.IGNORECASE):
|
|
||||||
print(l.strip())
|
|
||||||
|
|
||||||
|
|
||||||
pies(sys.stdin)
|
|
@ -1,3 +0,0 @@
|
|||||||
Pies ma Alę
|
|
||||||
Kot i pies to zwierzęta
|
|
||||||
pies
|
|
@ -1,11 +0,0 @@
|
|||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def pog_champ(input):
|
|
||||||
for _, l in enumerate(input, start=1):
|
|
||||||
if re.search(r'19\d{2} r\.', l):
|
|
||||||
print(l.strip())
|
|
||||||
|
|
||||||
|
|
||||||
pog_champ(sys.stdin)
|
|
@ -1,3 +0,0 @@
|
|||||||
Kiedyś był 1934 r.
|
|
||||||
Kiedyś był 1934 r.fsdfsdfsdf
|
|
||||||
1934 r. to jakaś data
|
|
@ -1,12 +0,0 @@
|
|||||||
import re
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def find_numbers(s):
|
|
||||||
return re.compile(r'\d+').findall(s)
|
|
||||||
|
|
||||||
input = sys.stdin.read().splitlines()
|
|
||||||
|
|
||||||
for l in input:
|
|
||||||
r = find_numbers(l)
|
|
||||||
print(f"{' '.join(r)}\n" if r else '', end='')
|
|
@ -1,4 +0,0 @@
|
|||||||
34234 34 5
|
|
||||||
34535
|
|
||||||
34
|
|
||||||
1992 1999
|
|
@ -1,36 +0,0 @@
|
|||||||
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
|
|
@ -1,10 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,10 +0,0 @@
|
|||||||
-1005
|
|
||||||
-50
|
|
||||||
-76
|
|
||||||
0
|
|
||||||
00
|
|
||||||
01000
|
|
||||||
1000
|
|
||||||
353
|
|
||||||
465
|
|
||||||
@!q
|
|
@ -1,35 +0,0 @@
|
|||||||
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
|
|
@ -1,8 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,8 +0,0 @@
|
|||||||
0
|
|
||||||
1000
|
|
||||||
111111125
|
|
||||||
25
|
|
||||||
353
|
|
||||||
465
|
|
||||||
@!q
|
|
||||||
x50
|
|
@ -1,36 +0,0 @@
|
|||||||
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
|
|
@ -1,6 +0,0 @@
|
|||||||
<NONE>
|
|
||||||
<NONE>
|
|
||||||
23
|
|
||||||
<NONE>
|
|
||||||
61
|
|
||||||
<NONE>
|
|
@ -1,6 +0,0 @@
|
|||||||
!@#$%^&
|
|
||||||
0-333
|
|
||||||
23-000
|
|
||||||
61-23
|
|
||||||
61-680
|
|
||||||
BigFoot
|
|
@ -1,37 +0,0 @@
|
|||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
import sys
|
|
||||||
import re
|
|
||||||
|
|
||||||
for line in sys.stdin:
|
|
||||||
numbers = re.fullmatch(r"(\d{3}-\d{3}-\d{2}-\d{2})|(\d{3}-\d{2}-\d{2}-\d{3})", line.replace("\n", ""), flags=re.IGNORECASE)
|
|
||||||
if numbers:
|
|
||||||
print("yes")
|
|
||||||
else:
|
|
||||||
print("no")
|
|
@ -1,5 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,5 +0,0 @@
|
|||||||
000-00-00-000
|
|
||||||
345-45-12-334
|
|
||||||
345-455-12-34
|
|
||||||
345-455-12-349
|
|
||||||
3454551234
|
|
@ -1,5 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,37 +0,0 @@
|
|||||||
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
|
|
@ -1,12 +0,0 @@
|
|||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,12 +0,0 @@
|
|||||||
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
|
|
@ -1,38 +0,0 @@
|
|||||||
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
|
|
@ -1,11 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
@ -1,11 +0,0 @@
|
|||||||
AAAAAA
|
|
||||||
ABCDE
|
|
||||||
ATX
|
|
||||||
P
|
|
||||||
PC
|
|
||||||
PCMCIA
|
|
||||||
PCMCIB
|
|
||||||
Pc
|
|
||||||
WYSIWYA
|
|
||||||
WYSIWYG
|
|
||||||
ZZZZ
|
|
@ -1,35 +0,0 @@
|
|||||||
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
|
|
@ -1,10 +0,0 @@
|
|||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
@ -1,10 +0,0 @@
|
|||||||
012345
|
|
||||||
0123456
|
|
||||||
10000
|
|
||||||
100001
|
|
||||||
12345
|
|
||||||
123456
|
|
||||||
333333333333
|
|
||||||
9999
|
|
||||||
99999
|
|
||||||
999999
|
|
@ -1,35 +0,0 @@
|
|||||||
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
|
|
@ -1,7 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,7 +0,0 @@
|
|||||||
*
|
|
||||||
**
|
|
||||||
***
|
|
||||||
***********
|
|
||||||
*a
|
|
||||||
+
|
|
||||||
a*
|
|
@ -1,38 +0,0 @@
|
|||||||
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
|
|
@ -1,10 +0,0 @@
|
|||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,10 +0,0 @@
|
|||||||
!!!!!
|
|
||||||
!hi
|
|
||||||
hi
|
|
||||||
hi!!!
|
|
||||||
hihi
|
|
||||||
hihi!!!!!!!!!
|
|
||||||
hihihi
|
|
||||||
hihihi!
|
|
||||||
hihihihihihihihi
|
|
||||||
ih!
|
|
@ -1,36 +0,0 @@
|
|||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
@ -1,9 +0,0 @@
|
|||||||
G3923d
|
|
||||||
G9
|
|
||||||
Ha3a5
|
|
||||||
Z00
|
|
||||||
Z0x0
|
|
||||||
az33a
|
|
||||||
dsdg34
|
|
||||||
hahaA39dsdsd
|
|
||||||
sssssssssssU23
|
|
@ -1,37 +0,0 @@
|
|||||||
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
|
|
@ -1,12 +0,0 @@
|
|||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,12 +0,0 @@
|
|||||||
0
|
|
||||||
0008000
|
|
||||||
08000
|
|
||||||
1
|
|
||||||
2
|
|
||||||
400
|
|
||||||
400 400
|
|
||||||
4020
|
|
||||||
8000
|
|
||||||
800000
|
|
||||||
8888
|
|
||||||
A0
|
|
@ -1,40 +0,0 @@
|
|||||||
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
|
|
@ -1,17 +0,0 @@
|
|||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
@ -1,17 +0,0 @@
|
|||||||
0
|
|
||||||
088
|
|
||||||
0x0
|
|
||||||
0x00B
|
|
||||||
0x00C
|
|
||||||
0x2
|
|
||||||
0x34
|
|
||||||
0xB
|
|
||||||
0xC
|
|
||||||
1
|
|
||||||
100000
|
|
||||||
16
|
|
||||||
34
|
|
||||||
34536
|
|
||||||
4
|
|
||||||
4 4
|
|
||||||
88
|
|
@ -1,38 +0,0 @@
|
|||||||
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
|
|
@ -1,6 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
@ -1,6 +0,0 @@
|
|||||||
09-333-56773-4324
|
|
||||||
1-500-00000-0000
|
|
||||||
1-500-55773-4323
|
|
||||||
1-500-56773-4323
|
|
||||||
1-500-56773-4324
|
|
||||||
9-333-56773-4324
|
|
@ -1,42 +0,0 @@
|
|||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,9 +0,0 @@
|
|||||||
0MORSE HEAD
|
|
||||||
AAAAA BBBB
|
|
||||||
AAAAAA BBBB
|
|
||||||
GOSRE IDAD
|
|
||||||
HORSE HEAD
|
|
||||||
MORSE HEAD
|
|
||||||
MORSEHEAD
|
|
||||||
ZOSRE IDAD
|
|
||||||
morse head
|
|
@ -1,38 +0,0 @@
|
|||||||
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
|
|
@ -1,7 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,7 +0,0 @@
|
|||||||
055-555-555
|
|
||||||
505-324-555
|
|
||||||
551-233-455
|
|
||||||
555-123-456
|
|
||||||
556 345 667
|
|
||||||
556 345 6675
|
|
||||||
556 345-667
|
|
@ -1,40 +0,0 @@
|
|||||||
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
|
|
@ -1,12 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
@ -1,12 +0,0 @@
|
|||||||
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
|
|
@ -1,41 +0,0 @@
|
|||||||
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
|
|
@ -1,8 +0,0 @@
|
|||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
@ -1,8 +0,0 @@
|
|||||||
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
|
|
@ -1,39 +0,0 @@
|
|||||||
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
|
|
@ -1,10 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
@ -1,10 +0,0 @@
|
|||||||
Abonować
|
|
||||||
abonować
|
|
||||||
abonowaćxxx
|
|
||||||
anonsuje
|
|
||||||
anonsuję
|
|
||||||
modemowałyście
|
|
||||||
prowokowany
|
|
||||||
prowokuj
|
|
||||||
sprowokuje
|
|
||||||
óęererłujemy
|
|
@ -1,41 +0,0 @@
|
|||||||
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
|
|
@ -1,8 +0,0 @@
|
|||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,8 +0,0 @@
|
|||||||
J 22, 99
|
|
||||||
J 23, 1
|
|
||||||
Mk 16, 9
|
|
||||||
Mk 17, 9
|
|
||||||
Mk 7, 9
|
|
||||||
Mt 1, 1
|
|
||||||
Łk 24, 3
|
|
||||||
Łk 30, 1
|
|
@ -1,35 +0,0 @@
|
|||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
no
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
@ -1,9 +0,0 @@
|
|||||||
-100
|
|
||||||
1
|
|
||||||
10
|
|
||||||
100
|
|
||||||
10000
|
|
||||||
1000000
|
|
||||||
1001
|
|
||||||
2000
|
|
||||||
500
|
|
@ -1,35 +0,0 @@
|
|||||||
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 wskazać czy 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 spełnia podane warunki, należy wypisać
|
|
||||||
"yes", w przeciwnym wypadku "no".
|
|
||||||
|
|
||||||
For each string, indicate whether it is 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 fulfills the condition, print "yes", otherwise "no".
|
|
||||||
|
|
||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
import sys
|
|
||||||
import re
|
|
||||||
|
|
||||||
for line in sys.stdin:
|
|
||||||
numbers = re.match(r'^(0?[0-9]{2}) (\d{1}-\d{3}-\d{3})$', line.replace("\n", ""), flags=re.IGNORECASE)
|
|
||||||
if numbers:
|
|
||||||
print('yes')
|
|
||||||
else:
|
|
||||||
print("no")
|
|
@ -1,6 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,6 +0,0 @@
|
|||||||
00 0-000-000
|
|
||||||
000 0-000-000
|
|
||||||
0000 0-000-000
|
|
||||||
061 5-555-553
|
|
||||||
61 5-555-553
|
|
||||||
61 5-555-5534
|
|
@ -1,6 +0,0 @@
|
|||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
@ -1,40 +0,0 @@
|
|||||||
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
|
|
@ -1,9 +0,0 @@
|
|||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
yes
|
|
||||||
yes
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
||||||
no
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user