Poziom rozszerzony Formuła 2023

Marzec 2022

Materiały do pobrania

1_1.py
with open("szachy.txt") as f:
    plansze = f.read().strip().split("\n\n")

ile_plansz = 0
max_pustych = 0

for plansza in plansze:
    wiersze = plansza.splitlines()

    puste= 0

    for kolumna in range(8):
        pusta = True

        for wiersz in range(8):
            if wiersze[wiersz][kolumna] != '.':
                pusta = False
                break

        if pusta:
            puste += 1

    if puste > 0:
        ile_plansz += 1

    if puste > max_pustych:
        max_pustych = puste

print(ile_plansz, max_pustych)
1_2.py
with open("szachy.txt") as f:
    plansze = f.read().strip().split("\n\n")

ile = 0
min_bierek = 64

for plansza in plansze:
    wiersze = plansza.splitlines()

    biale = {
        'K': 0,
        'H': 0,
        'W': 0,
        'G': 0,
        'S': 0,
        'P': 0
    }

    czarne = {
        'k': 0,
        'h': 0,
        'w': 0,
        'g': 0,
        's': 0,
        'p': 0
    }

    for wiersz in wiersze:
        for znak in wiersz:
            if znak in biale:
                biale[znak] += 1
            elif znak in czarne:
                czarne[znak] += 1

    rownowaga = True

    for figura in "KHWGSP":
        if biale[figura] != czarne[figura.lower()]:
            rownowaga = False
            break

    if rownowaga:
        ile += 1
        liczba_bierek = sum(biale.values()) + sum(czarne.values())

        if liczba_bierek < min_bierek:
            min_bierek = liczba_bierek

print(ile, min_bierek)
3.py
def algorytm(a, x, M):
    b = (a ** x) % M
    return b

print(algorytm(5, 2, 31))
3_1.md
3_2.py
# Złożność O(x):
def algorytm1(a, x, M):
    b = (a ** x) % M
    return b

# Złożność O(log x):
def algorytm2(a, x, M):
    b = 1

    while x > 0:
        if x % 2 == 1:
            b = (b * a) % M

        a = (a * a) % M
        x //= 2

    return b
3_3.py
def czy_pierwsza(n):
    if n < 2:
        return False

    for i in range(2, n):
        if n % i == 0:
            return False
    return True

liczba_pierwszych_M = 0

with open("liczby.txt") as f:
    for line in f:
        M, a, b = map(int, line.split())

        if czy_pierwsza(M):
            liczba_pierwszych_M += 1

print(liczba_pierwszych_M)
3_4.py
from math import gcd

licznik = 0

with open("liczby.txt") as f:
    for line in f:
        M, a, b = map(int, line.split())

        if gcd(M, a) == 1:
            licznik += 1

print(licznik)
3_5.py
def potega(a, x, M):
    b = 1

    while x > 0:
        if x % 2 == 1:
            b = (b * a) % M

        a = (a * a) % M
        x //= 2

    return b

licznik = 0

with open("liczby.txt") as f:
    for line in f:
        M, a, b = map(int, line.split())

        for x in range(0, M):
            if potega(a, x, M) == b:
                licznik += 1
                break

print(licznik)
5_4.sql
SELECT Typ_dzialalnosci, COUNT(*) FROM
Armator
GROUP BY Typ_dzialalnosci;
5_5.sql
SELECT DISTINCT Statki.Nazwa_statku
FROM (Armator INNER JOIN Przybycia ON Armator.Id_Armatora = Przybycia.Id_Armatora)
INNER JOIN Statki ON Przybycia.Nr_IMO = Statki.Nr_IMO
WHERE Armator.Armator = "XYZ";
6.md
7.md
wyniki1.txt
1_1:
36 3

1_2:
22 28
wyniki3.txt
3_3:
343

3_4:
712

3_5:
764
wyniki4.txt
4_1:
2.04.2019	14,8

4_2:
Godzina	Średnia z temperatura
0:00	7.08
1:00	6.96
2:00	6.85
3:00	6.69
4:00	6.60
5:00	6.57
6:00	6.82
7:00	7.34
8:00	7.98
9:00	8.66
10:00	9.30
11:00	9.78
12:00	10.11
13:00	10.26
14:00	10.29
15:00	10.00
16:00	9.55
17:00	8.99
18:00	8.43
19:00	8.01
20:00	7.75
21:00	7.58
22:00	7.40
23:00	7.24


4_3:
22.05.2019 16:00 - 24.05.2019 04:00 (37 godzin)
Łączny opad: 74

4_4:
a) 30 razy
b) 22 luty,	4 razy
wyniki5.txt
5_1:
Rok	PoliczOfLP
2016	2531
2017	2522
2018	2449
2019	2532

5_3:
Nabrzeze
ALMEX
BYTOMSKIE USKOK
CAL
OKO BASEN
PRCIP
REMSTAT

5_4:
wyniki5_2.txt
5_2:

Nabrzeze	Nazwa_statku	Ladownosc
ALMEX	LEOPARD	274
ANGIELSKIE	BBC LAGOS	7138
ANGIELSKIE	BBC LIVORNO	7138
ANGIELSKIE	BBC LONDON	7138
ARSENAL	KASZUBY	24109
ARSENAL	KOSZALIN	24109
ARSENAL	KUJAWY	24109
ARSENAL	KURPIE	24109
ARSENAL	MAZURY	24109
ARSENAL	PODLASIE	24109
ARSENAL	ROZTOCZE	24109
BELGIJSKIE	BBC BIRTE H	11494
BRAK	BALTIVIA	17790
BULGARSKIE	WAWEL	25318
BULWAR CHROBREGO	BRAEMAR	24344
BYDGOSKIE	AERANDIR	2545
BYDGOSKIE	AVALON	2545
BYDGOSKIE	BEAUMAIDEN	2545
BYDGOSKIE	BEAUMARE	2545
BYDGOSKIE	BEAUMONDE	2545
BYDGOSKIE	CAROLIN G	2545
BYDGOSKIE	EEMS DART	2545
BYDGOSKIE	EEMS DOLLARD	2545
BYDGOSKIE	EEMS EXE	2545
BYDGOSKIE	GEERT K	2545
BYDGOSKIE	HANNA	2545
BYDGOSKIE	HATHOR	2545
BYDGOSKIE	HELAS	2545
BYDGOSKIE	INDI	2545
BYDGOSKIE	JOHN FRIEDRICH K	2545
BYDGOSKIE	JUERGEN K	2545
BYDGOSKIE	MARAS	2545
BYDGOSKIE	MILADY	2545
BYDGOSKIE	NATALY	2545
BYDGOSKIE	RICHELIEU	2545
BYDGOSKIE	ROSI	2545
BYDGOSKIE	ROVA STONES	2545
BYDGOSKIE	TUCANA	2545
BYDGOSKIE	VEDETTE	2545
BYDGOSKIE	VENTURA	2545
BYDGOSKIE	WILSON DALVIK	2545
BYDGOSKIE	WILSON DUNKIRK	2545
BYDGOSKIE	YVONNE K.	2545
BYTOMSKIE	ODELMAR	24184
BYTOMSKIE USKOK	TEST24_03_17	39727
CAL	EEMS DELTA	999
CAL	PALICA	999
CEMENTOWE	GREENLAND	4284
CHORZOWSKIE	DORIC SHOGUN	35823
CICHE	HALICZ	694
CPN III	ECO DREAM	5452
CPN III	ECO GREEN	5452
CZESKIE	MORNING CHERRY	59525
DOK 1	SILVER LAKE	3538
DOK 1	SILVER RIVER	3538
DOK 3	BORKUM	4591
DOK 3	COPENHAGEN	4591
DOK 3	LANGEOOG	4591
DOK 3	NORDERNEY	4591
DOK 3	SPIEKEROOG	4591
DOK 5	NILEDUTCH LUANDA	34642
DRZETOWSKIE N	CAP BEATRICE	26833
DRZETOWSKIE S	GARDNO	22982
DRZETOWSKIE S	JAMNO	22982
FANT	EEMS CARRIER	1546
FARBOLAK SWFIL	GOLFSTRAUM	7243
FARBOLAK SWFIL	RYSTRAUM	7243
FINSKIE	MORNING CELESTA	57542
FOSFATOWE	ALINE	4102
FOSFATOWE	BJOERKOE	4102
FOSFATOWE	BJOERNOE	4102
FOSFATOWE	BOCKOE	4102
FOSFATOWE	BOSPORUSDIEP	4102
FOSFATOWE	EMSRUNNER	4102
FOSFATOWE	KERSTI	4102
FOSFATOWE	PAULA ANNA	4102
FOSFATOWE	PAULA VINDO	4102
FOSFATOWE	TIWALA	4102
FOSFATOWE DALBY	BESIKTAS ICELAND	5366
GDANSKIE	MAZOVIA	29940
GDYNSKIE N	POLONIA	29875
GDYNSKIE S	FREE STATE	32379
GDYNSKIE S	GENCO HUNTER	32379
GDYNSKIE S	NORD EXPLORER	32379
GLIWICKIE	APAGEON	30012
GNIEZNIENSKIE	KASZUBY	24109
GNIEZNIENSKIE	KOSZALIN	24109
GNIEZNIENSKIE	KUJAWY	24109
GNIEZNIENSKIE	KURPIE	24109
GNIEZNIENSKIE	MAZURY	24109
GNIEZNIENSKIE	PODLASIE	24109
GNIEZNIENSKIE NIENSKIE	ROZTOCZE	24109
GORNOSLASKIE	ROSINA TOPIC	26216
GRECKIE	BBC LAGOS	7138
GRECKIE	BBC LIVORNO	7138
GRECKIE	BBC LONDON	7138
HOLENDERSKIE	AMBASSADEUR	3990
HOLENDERSKIE	AMISIA	3990
HOLENDERSKIE	BELTERWIEDE	3990
HOLENDERSKIE	CATHMA	3990
HOLENDERSKIE	CATHY JO	3990
HOLENDERSKIE	DAGNA	3990
HOLENDERSKIE	DELFBORG	3990
HOLENDERSKIE	DOGGERSBANK	3990
HOLENDERSKIE	DROGDENBANK	3990
HOLENDERSKIE	EEMSHORN	3990
HOLENDERSKIE	IMKE	3990
HOLENDERSKIE	ISIS	3990
HOLENDERSKIE	JEANETTE	3990
HOLENDERSKIE	MAASBORG	3990
HOLENDERSKIE	NORDFJORD	3990
HOLENDERSKIE	TERSCHELLING	3990
HOLENDERSKIE	VLIELAND	3990
HUK	HALLAND	5335
HUK	NORJARL	5335
HUK	NYLAND	5335
HUK	URA	5335
HUK	VAESTERBOTTEN	5335
HUTA (KRA)	JOSE PROGRESS	30969
KASZUBSKIE	DANUBE HIGHWAY	23498
KASZUBSKIE	ELBE HIGHWAY	23498
KASZUBSKIE	SEINE HIGHWAY	23498
KASZUBSKIE	THAMES HIGHWAY	23498
KATOWICKIE	OCEAN OUTSTANDING	36415
KATOWICKIE - DALBY	CHEMROAD HOPE	19984
MAK	NORRLAND	5562
MAZOWIECKIE	CSL ELBE	6944
MAZOWIECKIE	CSL RHINE	6944
NOTECKIE	NORDIC CHANTAL	2854
NOTECKIE	NORDVAAG	2854
ODRA NOWE	NOVA ZEELANDIA	4440
ODRA STARE	HORDAFOR VII	3222
OKO	AIRISTO	6154
OKO	VOSSBORG	6154
OKO BASEN	ROMANKA	997
PARNICKIE	ALCEDO	6556
PASAZERSKIE	STATSRAAD LEHMKUHL	1516
PIRS E	PASILA	10098
PIRS E	TALI	10098
PIRS W	FLEVOGRACHT	8620
POLSKIE	SEABOURN OVATION	41865
POZNANSKIE	ANTJE K	3037
POZNANSKIE	DANIEL K	3037
POZNANSKIE	JOHN - PAUL K.	3037
POZNANSKIE	WILSON SKY	3037
PRCIP	INZ. STANISLAW LĘGOWSKI	1954
PRZEMYSLOWE	GAELLNOE	5598
PRZEMYSLOWE	LENNEBORG	5598
PRZEMYSLOWE	LEUVEBORG	5598
PRZEMYSLOWE	LOENERBORG	5598
PRZEMYSLOWE	LOOBORG	5598
REGALICA	EMSMOON	4563
REMONTOWE	KASZUBY	24109
REMONTOWE	KOSZALIN	24109
REMONTOWE	KUJAWY	24109
REMONTOWE	KURPIE	24109
REMONTOWE	MAZURY	24109
REMONTOWE	PODLASIE	24109
REMONTOWE	ROZTOCZE	24109
REMSTAT	SERVAL	275
REMSTAT	VT NEUTRON	275
ROSYJSKIE	ROMY TRADER	5941
RUMUNSKIE	SCOT BAYERN	5145
RUMUNSKIE	SCOT BERLIN	5145
RUMUNSKIE	SCOT LEIPZIG	5145
RUMUNSKIE	SCOT MUNCHEN	5145
SLOWACKIE	TRADE VISION	45259
SNOP N	DONAU	5887
SNOP N	FRISIAN OCEAN	5887
SNOP N	FRISIANA	5887
SNOP N	MERIDIAAN	5887
SNOP S	MARIT	6046
SNOP S	MYRTE	6046
SPOLDZIELCZE	SCORPIUS	7636
STAROWKA	SEDOV	3432
WALBRZYSKIE	POLA ANATOLIA	6266
WALBRZYSKIE	POLA ANFISA	6266
WARSZAWSKIE	VIKING	332
WARSZTATOWE	FAIRPLAY 27	499
WARSZTATOWE	NEPTUNE MARINER	499
WEGIERSKIE	OCEAN FORTUNE	6479
WROCLAWSKIE	DANUBE HIGHWAY	23498
WROCLAWSKIE	ELBE HIGHWAY	23498
WROCLAWSKIE	SEINE HIGHWAY	23498
WROCLAWSKIE	THAMES HIGHWAY	23498
WULKAN N	ADHEMAR DE SAINT-VENANT	7531
WULKAN POCHYLNIA	CARRIER 7	2601
WULKAN POCHYLNIA	FRI SEA	2601
WULKAN S	ALESIA	4723
WULKAN S	ARKLOW BRIDGE	4723
WULKAN S	ARKLOW BROOK	4723
WULKAN S	BELIZIA	4723
WULKAN S	CECILIA	4723
WULKAN S	DAMINA	4723
ZBOZOWE	ATHINA CARRAS	44190