# 1. feladat
dobasok = []
with open('dobasok.txt') as be:
    for c in be.readline().split():
        dobasok.append(int(c))

with open('osvenyek.txt') as be:
    osvenyek = [sor.strip() for sor in be.readlines()]

# 2. feladat
print(f"2. feladat\nA dobások száma: {len(dobasok)}\nAz ösvények száma: {len(osvenyek)}")

# 3. feladat
leghosszabb = max(([index + 1, len(osveny)] for index, osveny in enumerate(osvenyek)), key=lambda x: x[1])
print(f"3. feladat\nAz egyik leghosszabb ösvény a(z) {leghosszabb[0]}. ösvény, hossza: {leghosszabb[1]}")

# 4. feladat
ssz = int(input("4. feladat\nAdja meg egy ösvény sorszámát! "))
jatekosszam = int(input("Adja meg a játékosok számát! "))

# 5. feladat
osveny = osvenyek[ssz - 1]
stat = {'M': osveny.count('M'), 'V': osveny.count('V'), 'E': osveny.count('E')}
for k in stat.keys():
    if stat[k]:
        print(f"{k}: {stat[k]} darab")

# 6. feladat
with open('kulonleges.txt', 'w') as ki:
    for index, mez in enumerate(osveny):
        if mez != 'M':
            print(f"{index + 1}\t{mez}", file=ki)

# 7. feladat
hosszak = [0] * jatekosszam
i = 1
while max(hosszak) < len(osveny):
    hosszak[(i % jatekosszam) - 1] += dobasok[i - 1]
    i += 1
gyoztesek = []
for index, ertek in enumerate(hosszak):
    if ertek == max(hosszak):
        gyoztesek.append(str(index + 1))
print(f"7. feladat\nA játék a {i // jatekosszam}. körben fejeződött be. A legtávolabb jutó sorszáma: {', '.join(gyoztesek)}")

# 8. feladat
hosszak = [0] * jatekosszam
maxtav = 0
i = 0
while maxtav < len(osveny):
    for jatekos in range(jatekosszam):
        dobas = dobasok[i * jatekosszam + jatekos]
        hosszak[jatekos] += dobas
        if hosszak[jatekos] < len(osveny):
            if osveny[hosszak[jatekos] - 1] == 'V':
                hosszak[jatekos] -= dobas
            if osveny[hosszak[jatekos] - 1] == 'E':
                hosszak[jatekos] += dobas
        maxtav = max(maxtav, hosszak[jatekos])
    i += 1
print("Nyertes(ek):", end=" ")
for jatekos in range(jatekosszam):
    if hosszak[jatekos]  >= len(osveny):
        print(jatekos+1, end=" ")
print(f"\nA többiek pozíciója:")
for jatekos in range(jatekosszam):
    if hosszak[jatekos] < len(osveny):
        print(f"{jatekos+1}. játékos, {hosszak[jatekos]}. mező")