Cups and bottles / Lists as Stacks and Queues
Здравейте,
някой да е решавал тази задача?
Дава ми 66%, но нулевите са ок и не мога да видя от къде...
Благодаря! :)
Оправих го, оставям решението, ако някой има нужда.
Здравейте,
някой да е решавал тази задача?
Дава ми 66%, но нулевите са ок и не мога да видя от къде...
Благодаря! :)
Оправих го, оставям решението, ако някой има нужда.
from collections import deque cups = deque(int(x) for x in input().split()) bottles = list(int(x) for x in input().split()) wasted_water = 0 while True: if cups and bottles: current_cup = cups.popleft() current_bottle = bottles.pop() if current_bottle >= current_cup: wasted_water += current_bottle - current_cup else: cups.appendleft(current_cup - current_bottle) else: break if cups: result = ' '.join([str(x) for x in cups]) print(f"Cups: {result}") if bottles: res = ' '.join([str(x) for x in bottles]) print(f"Bottles: {res}") print(f"Wasted litters of water: {wasted_water}")
Привет, добавям и моето решение. Бутилките са просто stack, но за да не го мисля много съм ги писал като deque.
from collections import deque
cups = deque(int(item) for item in input().split())
bottles = deque(int(item) for item in input().split())
wasted_water = 0
while cups and bottles:
if bottles[-1] > cups[0]:
wasted_water += bottles[-1] - cups[0]
cups.popleft()
bottles.pop()
elif bottles[-1] == cups[0]:
cups.popleft()
bottles.pop()
elif bottles[-1] < cups[0]:
cups[0] -= bottles.pop()
if cups:
cups = [str(item) for item in cups]
print("Cups: " + " ".join(cups))
elif bottles:
bottles = [str(item) for item in bottles]
print("Bottles: " + " ".join(bottles))
print(f"Wasted litters of water: {wasted_water}")
Благодаря! :)
Видях го..
.просто не очаквах, че тр да се пише изхабена - 0...