-
Notifications
You must be signed in to change notification settings - Fork 0
/
slot.py
120 lines (119 loc) · 4.87 KB
/
slot.py
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
def declarearray(row,col):
array=[]
for i in range (row):
arraytemp=[]
for j in range (col):
print("Enter the row "+str(i)+" and column "+str(j)+" item:")
num=int(input("Enter here... "))
arraytemp.append(num)
print("Row "+ str(i) +" complete")
array.append(arraytemp)
return array
def declarearrayzero(row,col):
array=[]
for i in range (row):
arraytemp=[]
for j in range (col):
arraytemp.append(0)
array.append(arraytemp)
return array
def printarray(array,row,col):
for i in range(row):
for j in range(col):
print(str(array[i][j])+" ", end='')
print()
def minfinder(array,row,col):
arraycheck=declarearrayzero(row,col)
increment=declarearrayzero(row,col)
for i in range(row-1,-1,-1):
for j in range(col):
if(i==row-1):
if(array[i][j]!=0):
increment[i][j]=1
else:
increment[i][j]=0
arraycheck[i][j]=array[i][j]
else:
if (j==0):
if(array[i][j]!=0):
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j+1]
increment[i][j]=increment[i+1][j+1]+1
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
elif (j==col-1):
if(array[i][j]!=0):
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j-1]
increment[i][j]=increment[i+1][j-1]+1
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
else:
if(array[i][j]!=0):
if((array[i][j]+arraycheck[i+1][j+1])<(array[i][j]+arraycheck[i+1][j-1])):
arraycheck[i][j]=arraycheck[i+1][j+1]+array[i][j]
increment[i][j]=1+increment[i+1][j+1]
else:
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j-1]
increment[i][j]=1+increment[i+1][j-1]
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
index=0
for j in range(1,col):
if(arraycheck[0][j]<arraycheck[0][index]):
index=j
print("Ball slot "+str(index+1))
print("Minimum value: "+str(arraycheck[0][index]))
print("Number found: "+str(increment[0][index]))
def maxfinder(array,row,col):
arraycheck=declarearrayzero(row,col)
increment=declarearrayzero(row,col)
for i in range(row-1,-1,-1):
for j in range(col):
if(i==row-1):
if(array[i][j]!=0):
increment[i][j]=1
else:
increment[i][j]=0
arraycheck[i][j]=array[i][j]
else:
if (j==0):
if(array[i][j]!=0):
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j+1]
increment[i][j]=increment[i+1][j+1]+1
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
elif (j==col-1):
if(array[i][j]!=0):
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j-1]
increment[i][j]=increment[i+1][j-1]+1
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
else:
if(array[i][j]!=0):
if((array[i][j]+arraycheck[i+1][j+1])>(array[i][j]+arraycheck[i+1][j-1])):
arraycheck[i][j]=arraycheck[i+1][j+1]+array[i][j]
increment[i][j]=1+increment[i+1][j+1]
else:
arraycheck[i][j]=array[i][j]+arraycheck[i+1][j-1]
increment[i][j]=1+increment[i+1][j-1]
else:
arraycheck[i][j]=arraycheck[i+1][j]
increment[i][j]=increment[i+1][j]
index=0
for j in range(1,col):
if(arraycheck[0][j]>arraycheck[0][index]):
index=j
print("Ball slot "+str(index+1))
print("Maximum value: "+str(arraycheck[0][index]))
print("Number found: "+str(increment[0][index]))
row=int(input("Enter the number of rows: "))
col=int(input("Enter the number of cols: "))
array=declarearray(row,col)
printarray(array,row,col)
print()
maxfinder(array,row,col)
minfinder(array,row,col)