8272022-01-18 15:41:33chwbEgykorúak (75 pont)python3Hibás válasz 50/7582ms23016 KiB
# Nemes Tihamér Nemzetközi Programozási Verseny, I. korcsoport 2. forduló
# ---------- Egykorúak ----------
# Peti nyári táborba megy és kíváncsi arra, hogy a táborban hány másik, vele egykorú résztvevő lesz.
# Egykorúnak azt tekinti, akik születésének napja az övétől legfeljebb 365 napra van.
# Készíts programot, amely megadja, hogy hány vele egykorú résztvevő lesz a táborban!
# Bemenet
# A standard bemenet első sorában a táborozók száma van (1N10000).
# A második sor-ban Peti születési dátuma található (Év, Hónap, Nap – szabályos dátum, Év 1950 és 2050 közötti,
# ekkor pontosan a 4-gyel osztható évszámok szökőévek).
# A következő N sor az egyes táborozók születési dátumait tartalmazza (TÉi, THi, TNi – szabályos dátum).
# Kimenet
# A standard kimenetre azon táborozók számát kell írni, akik Petivel egykorúak!

# io10 io13 nál 1-vel kevesebbet kapok
# io15, io16 kevesebbet kapok

tdatumok = []     # táborozók születési dátumai
petidatum = []       #Peti születési dátuma
# fbe = open('io1\in.17')
# for i, sor in enumerate(fbe):
#     if i > 0:
#         sorlista = sor.strip().split()
#         sorlista[0] = int(sorlista[0])
#         sorlista[1] = int(sorlista[1])
#         sorlista[2] = int(sorlista[2])
#     if i == 1:
#         petidatum = sorlista
#     elif i > 1:
#          tdatumok.append(sorlista)
# fbe.close()

tszama = int(input())
sorlista = input().strip().split()
sorlista[0] = int(sorlista[0])
sorlista[1] = int(sorlista[1])
sorlista[2] = int(sorlista[2])
petidatum = sorlista
for i in range(0, tszama):
        sorlista = input().strip().split()
        sorlista[0] = int(sorlista[0])
        sorlista[1] = int(sorlista[1])
        sorlista[2] = int(sorlista[2])
        tdatumok.append(sorlista)

def napszam(datum):
    honapnapok = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
    napszam = datum[0] * 365 + honapnapok[datum[1]-1] + datum[2]
    napszam = napszam + datum[0] // 4
    return napszam

petinapszam = napszam(petidatum)
egyidos = 0
for tdatum in tdatumok:
    tdatumnapszam =napszam(tdatum)
    if ( tdatumnapszam > petinapszam - 366) and ( tdatumnapszam < petinapszam + 366):
        egyidos += 1
        if tdatum == 2004:
            print(tdatum)

# print('egyidősek:', egyidos)
print(egyidos)
# print(petidatum, napszam(petidatum))
# print(tdatumok)
# print(napszam([2003-1900, 12,1]))
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/75
1Elfogadva0/057ms18996 KiB
2Elfogadva0/082ms22828 KiB
3Elfogadva5/543ms19176 KiB
4Elfogadva5/534ms19184 KiB
5Elfogadva5/528ms19204 KiB
6Elfogadva5/527ms19292 KiB
7Hibás válasz0/529ms19236 KiB
8Elfogadva5/529ms19248 KiB
9Elfogadva5/528ms19216 KiB
10Hibás válasz0/541ms19504 KiB
11Elfogadva5/537ms19684 KiB
12Elfogadva5/541ms20064 KiB
13Hibás válasz0/556ms20612 KiB
14Elfogadva5/548ms21080 KiB
15Hibás válasz0/554ms21472 KiB
16Hibás válasz0/556ms22048 KiB
17Elfogadva5/564ms23016 KiB