-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschedule.py
More file actions
94 lines (77 loc) · 2.83 KB
/
schedule.py
File metadata and controls
94 lines (77 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
'''
*Scheduling Algorithm - Triatholon
*
'''
def mergesort(swimmingtime,bottom,top):
N=top-bottom;
if N<=1:
return
mid=bottom+ N/2
mergesort(swimmingtime,bottom,mid);
mergesort(swimmingtime,mid,top);
temp=[];
i=bottom;
j=mid;
for k in range(0,N):
if i==mid:
temp.append(swimmingtime[j])
j+=1
elif j==top:
temp.append(swimmingtime[i]);
i+=1
elif swimmingtime[j]<swimmingtime[i]:
temp.append(swimmingtime[j])
j+=1
else:
temp.append(swimmingtime[i])
i+=1
print "after sorting:"
for k in range(0,N):
swimmingtime[bottom + k]= temp[k];
print swimmingtime[bottom+ k ]
def schedule():
#newswimming_time[],newbiking_time[],newracing_time[],oldswimming_time[],oldikingtime[],oldracing_time[],start_time[],finish_time[]
#take user input for n
oldswimming_time=[]
oldbiking_time=[]
oldracing_time=[]
newswimming_time=[]
newbiking_time=[]
newracing_time=[]
start_time=[]
finish_time=[]
total_time=[]
n=int(input("Enter the number of Racers"));
for i in range(0,n):
oldswimming_time.append(int(input("Enter the swimming time for 1 Racer and press Enter")))
oldbiking_time.append(int(input("Enter the biking time for 1 Racer and press Enter")))
oldracing_time.append(int(input("Enter the racing time for 1 Racer and press Enter")))
newswimming_time=list(oldswimming_time)
newbiking_time=list(oldbiking_time)
newracing_time=list(oldracing_time)
for i in range (0,n):
start_time.append(int(0));
finish_time.append(int(0));
total_time.append(int(0));
#do sort here
mergesort(newswimming_time,0,n);
for i in range(0,n):
print "New Swimmingtime: ",newswimming_time[i]
for i in range(0,n):
for j in range(0,n):
if newswimming_time[i]==oldswimming_time[j]:
newbiking_time[i]=oldbiking_time[j];
newracing_time[i]=oldracing_time[j];
finish_time[0]=start_time[0]+oldswimming_time[0];
print "Start time of Racer0: ",start_time[0]," ","Finish time of Racer0: ",finish_time[0]
for i in range(1,n):
start_time[i]=finish_time[i-1]
finish_time[i]=start_time[i]+newswimming_time[i]
print "Start time of Racer",i,": ",start_time[i]," ","Finish time of Racer",i,": ",finish_time[i]
max=0
for i in range(0,n):
total_time[i]=newswimming_time[i]+newbiking_time[i]+newracing_time[i]
if max<total_time[i]:
max=total_time[i]
print "Completion Time",max
schedule();