Compare commits

...

7 Commits

Author SHA1 Message Date
mertmarik
f4e63ab90f
Merge 455749a9eb839eb836cfe63478eb43cf0f83340c into e59d819d091efdb30e385f4ecfe9ab5d36c3be71 2025-02-06 11:41:02 +08:00
pre-commit-ci[bot]
455749a9eb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-01-29 22:04:49 +00:00
Merdo
297da1f274 input added 2025-01-30 01:04:10 +03:00
Merdo
5a61613dd0 Merge branch 'master' of https://github.com/mertmarik/Python 2025-01-30 01:03:44 +03:00
Merdo
0de43acf24 example input added 2025-01-30 00:59:01 +03:00
pre-commit-ci[bot]
0175a2be86 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-01-29 11:03:38 +00:00
Merdo
db38f0e514 Solution for Bridge and Torch Problem 2025-01-29 13:57:34 +03:00

View File

@ -0,0 +1,30 @@
person_pace = [1, 2, 5, 10, 12, 16]
person_pace.sort() # Sort the array for optimal pairing
people = len(person_pace)
# Base cases
if people == 1:
print("Min Time to Cross is:", person_pace[0])
elif people == 2:
print("Min Time to Cross is:", person_pace[1])
else:
total_time = 0
while people > 3:
# Strategy 1: Send the two fastest first, then the fastest returns
option1 = person_pace[1] + person_pace[0] + person_pace[-1] + person_pace[1]
# Strategy 2: Send the two slowest, then the fastest returns
option2 = person_pace[-1] + person_pace[0] + person_pace[-2] + person_pace[0]
# Choose the minimum of the two strategies
total_time += min(option1, option2)
# Remove the two slowest people who have crossed
person_pace = person_pace[:-2]
# Handle the last 2 or 3 people
if len(person_pace) == 3:
total_time += person_pace[2] + person_pace[0] + person_pace[1]
elif len(person_pace) == 2:
total_time += person_pace[1]
print("Min Time to Cross is:", total_time)