2857 - LOL
Cerința
În jocul League of Legends participă două echipe a câte 5
jucători notați a,b,c,d,e
, respectiv A,B,C,D,E
. Fiecare jucător are o valoare, inițial 300
, și un câștig, inițial 0
. În joc au loc lupte între perechi de jucători din echipe diferite, în urma fiecărei lupte fiind un învingător și un învins.
După luptă, câștigul învingătorului crește cu valoarea învinsului, valoarea sa crește cu 50
de bani, fără să depășească 1000
de bani, iar valoarea învinsului scade cu 50
de bani, neputând deveni mai mică decât 0
.
Dându-se lista luptelor, să se determine câți bani va avea fiecare jucător la finalul meciului.
Date de intrare
Programul citește de la tastatură numărul n
, reprezentând numărul de lupte, iar pe linii separate vor fi perechi x y
, însemnând x
îl învinge pe y
.
Date de ieșire
Programul va afișa pe ecran, pe linii separate, câștigul fiecărui jucător la finalul meciului. Afișarea va fi de forma: L x
(x
este câștigul jucătorului L
).
Restricții și precizări
1 ≤ n ≤ 200.000
Exemplu 1
- Intrare
- 6
- A b
- A c
- A a
- d A
- e C
- e C
- Ieșire
- A 900
- B 0
- C 0
- D 0
- E 0
- a 0
- b 0
- c 0
- d 450
- e 550
Explicație
A
învinge 3 inamici, d
îl învinge pe A
, câștigând 450
de bani, iar e
îl învinge pe C
de 2
ori, prima oară câștigând 300
apoi 250
de bani.
Exemplu 2
- Intrare
- 5000000
- A a
- A b
- A c
- B a
- B b
- B c
- Ieșire
- Date de intrare gresite!
Rezolvare
<syntaxhighlight lang="python" line="1">
- 2857 LOL
def conditii(n):
return 1 <= n <= 200_000
def main():
n = int(input())
if not conditii(n): return print("Date de intrare gresite!")
castig = dict.fromkeys(["A", "B", "C", "D", "E", "a", "b", "c", "d", "e"], 0) valoare = dict.fromkeys(["A", "B", "C", "D", "E", "a", "b", "c", "d", "e"], 300)
for i in range(n): castigator, invins = [i for i in input().split()]
castig[castigator] += valoare[invins]
if valoare[castigator] <= 950: valoare[castigator] += 50 if valoare[invins] >= 50: valoare[invins] -= 50
for membru in castig: print(membru, castig[membru])
if __name__ == "__main__":
main()
</syntaxhighlight>