Loading...
elly22chan avatar elly22chan 12 Точки

Задача 01. Scheduling -> Python Advanced Exam - 24 October 2020

Здравейте,

Имам затруднения с тази задача.

Това е моят код и го докарах само до 71/100 -> https://pastebin.com/pkhBzp28.

Уж лесно звучеше задачата, но нещо съвсем се обърках.

Може ли някой да ми удари едно рамо?

Тагове:
1
Python Advanced 04/02/2022 11:49:44
MartinBG avatar MartinBG 4803 Точки

Реално ни интересува сумата на всички задачи, чиито стойности са по-малки от стойността на таргета или са равни на стойността му, но индексът им не е по-голям.

Ето примерно решение:

jobs = [int(job) for job in input().split(', ')]
target_index = int(input())

target_job = jobs[target_index]
cycles = 0

for i in range(len(jobs)):
    current_job = jobs[i]
    if current_job < target_job or current_job == target_job and target_index >= i:
        cycles += current_job

print(cycles)

 

0
05/02/2022 00:19:32
icowwww avatar icowwww 2791 Точки

Здравей,

Споделям и аз едно решение с коментари, което да задоволи условието:

The tasks that need the least amount of clock-cycles will be completed first.

For the jobs that need the same amount of clock-cycles, the order is FIFO (First In First Out).

Намира индекса на първото съвпадение на най-ниското число в масива.

Задава на този елемент най-високото число в масива + 1 за да не се обработи отново

https://pastebin.com/8BGkwrzP

0
05/02/2022 00:55:40
RStanimirov avatar RStanimirov 10 Точки

Привет, предлагам едно решение на задачата с речник:

tasks = [int(x) for x in input().split(', ')]
wanted_job_index = int(input())
dictionary = {}
clock_cycles = 0

for i in range(len(tasks)):
    current_task = tasks[i]
    dictionary[i] = current_task

sorted_dict = dict(sorted(dictionary.items(), key= lambda x: (x[1],[0])))

for x in sorted_dict.keys():
    clock_cycles += sorted_dict[x]
    if x == wanted_job_index:
        break

print(clock_cycles)

 

0
16/02/2022 19:06:49
xaoccc avatar xaoccc 1 Точки

Здравейте,

Ето и моето решение:

jobs = [int(i) for i in input().split(", ")]
index = int(input())
print(sum([i for i in jobs if i <= jobs[index]]))

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.