def kiir(ssz, szoveg):
    print('{}. feladat - {}'.format(ssz, szoveg))


# -----------------------------------------------------------------------------
# 1. Olvassa be a fájlból egy megfelelő adatszerkezetbe az egyes képpontok
#    RGB kódját!
# -----------------------------------------------------------------------------
kiir(1, 'Adatok beolvasása')

# 50×50 képpontos kép képpontjainak RGB kódjai vannak sorfolytonosan
sor = []  # 50 3 elemű listát tartalmazó sor, a mátrix egy sora
matrix = []  # 50 sort tartalmazó mátrix (lsd egy sorral feljebb)
fbe = open('kep.txt', 'r')
db = 1
for pontok in fbe:
    pontok = pontok.strip().split()
    sor.append(pontok)
    if db % 50 == 0:  # 50-esével képezzük a sorokat
        matrix.append(sor)
        sor = []  # ha egy sor bekerült a mátrixba, kezdjük elölről
    db += 1

N = db - 1
print('Beolvasott sorok száma: ', N)
fbe.close()

# -----------------------------------------------------------------------------
# 2. Kérjen be a felhasználótól egy RGB kódot! Állapítsa meg a program
#    segítségével, hogy a bekért szín megtalálható-e a képen! A megállapítás
#    eredményét írja ki a képernyőre!
# -----------------------------------------------------------------------------
kiir(2, 'Adott RGB kód szerepel-e a képben')
print('Kérek egy R G B értéket szóközökkel elválasztva!')
# RGB lista közvetlenül inputból
RGB = [kod for kod in input().split()]
RGB = RGB[0:3]  # ha 3 elemnél többet írna be, csak 3-at veszünk
print(RGB)
# keresési algoritmus
i = 0
while i < 50:
    j = 0
    while j < 50 and matrix[i][j] != RGB:
        j += 1
    if j < 50:
        print('A megadott kód szerepel a képben!')
        break  # ha megvan elhagyjuk a ciklust
    i += 1
if i == 50:
    print('A megadott kód nem szerepel a képben!')

# -----------------------------------------------------------------------------
# 3. Határozza meg, hogy a kép 35. sor 8. képpontjának színe hányszor
#    szerepel a 35. sorban, illetve a 8. oszlopban. Az értékeket írja ki a
#    képernyőre az alábbi formában: Például: Sorban: 5 Oszlopban: 10
# -----------------------------------------------------------------------------
kiir(3, '35.sor, 8.oszlop')
RGB = matrix[34][7]
print(RGB)
s_db = matrix[34].count(RGB)  # 35. sorban a count-tal számolunk
o_db = 0
for s in range(50):  # oszlopban számolás, azaz a sorokat futtajuk 1-50-ig
    if matrix[s][7] == RGB:
        o_db += 1

print('Sorban: {} Oszlopban: {}'.format(s_db, o_db))

# -----------------------------------------------------------------------------
# 4. Állapítsa meg, hogy a vörös, kék és zöld színek közül melyik szín
#    fordul elő legtöbbször a képen! Az (egyik) legtöbbször előforduló szín
#    nevét írja ki a képernyőre!
#    A színek kódjai: Vörös 255,0,0 Zöld 0,255,0 Kék 0,0,255
# -----------------------------------------------------------------------------
kiir(4, 'Legtöbbször előforduló szín')
RGB = [0] * 3

for i in range(50):
    RGB[0] += matrix[i].count(['255', '0', '0'])  # vörös
    RGB[1] += matrix[i].count(['0', '255', '0'])  # zöld
    RGB[2] += matrix[i].count(['0', '0', '255'])  # kék
RGB2 = ['vörös', 'zöld', 'kék']
print('A leggyakoribb szín:', RGB2[RGB.index(max(RGB))])

# -----------------------------------------------------------------------------
# 5. Készítsen 3 képpont széles, fekete színű keretet a képnek! A keretet
#    úgy hozza létre, hogy a kép mérete ne változzon!
#    A fekete szín kódja RGB(0, 0, 0).
# -----------------------------------------------------------------------------
kiir(5, 'Keretezés feketével')

for i in range(50):
    for j in range(50):
        if i < 3 or i > 46 or j < 3 or j > 46:
            matrix[i][j] = ['0', '0', '0']

# -----------------------------------------------------------------------------
# 6. A kép képpontjainak színét írja ki a keretes.txt nevű szövegfájlba a
#    bemeneti fájl formátumával egyezően! A képet sorfolytonosan tárolja,
#    minden képpontot új sorba, a képpontok RGB kódját szóközzel elválasztva
#    írja ki!
# -----------------------------------------------------------------------------
kiir(6, 'Képpontok kiírása keretes.txt-be')

fki = open('keretes.txt', 'w')
for i in range(50):
    for j in range(50):
        print(' '.join(matrix[i][j]), file=fki)
fki.close()

# -----------------------------------------------------------------------------
# 7. Az 50×50-es képen a kerettől függetlenül egy sárga RGB (255, 255, 0)
#    színű téglalap van. Határozza meg a program segítségével a bal felső és
#    a jobb alsó sárga képpontnak a helyét (sor, oszlop), majd határozza meg,
#    hogy a sárga téglalap hány képpontból áll! A képpontok helyét és a sárga
#    alakzat méretét a következő formában írassa ki a képernyőre:
#       Kezd: sor, oszlop
#       Vége: sor, oszlop
#       Képpontok száma: darab
# -----------------------------------------------------------------------------
kiir(7, 'Sárga téglalap')

S = ['255', '255', '0']
db = 0
for i in range(50):
    for j in range(50):
        if matrix[i][j] == ['255', '255', '0'] and db == 0:
            kezd = (i, j)  # első találat a balfelső sarkot adja
        if matrix[i][j] == ['255', '255', '0']:
            vege = (i, j)  # jobbalsó folyamatosan "frissül", amíg "vége" nem lesz
            db += 1  # és számoljuk, hogy hány képpont sárga

print('Kezd: {}, {}'.format(kezd[0], kezd[1]))
print('Vége: {}, {}'.format(vege[0], vege[1]))
print('Képpontok száma: ', db)