-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsolution.py
58 lines (52 loc) · 3.71 KB
/
solution.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
arr = [["08", "02", "22", "97", "38", "15", "00", "40", "00", "75", "04", "05", "07", "78", "52", "12", "50", "77", "91", "08"]
,["49", "49", "99", "40", "17", "81", "18", "57", "60", "87", "17", "40", "98", "43", "69", "48", "04", "56", "62", "00"]
,["81", "49", "31", "73", "55", "79", "14", "29", "93", "71", "40", "67", "53", "88", "30", "03", "49", "13", "36", "65"]
,["52", "70", "95", "23", "04", "60", "11", "42", "69", "24", "68", "56", "01", "32", "56", "71", "37", "02", "36", "91"]
,["22", "31", "16", "71", "51", "67", "63", "89", "41", "92", "36", "54", "22", "40", "40", "28", "66", "33", "13", "80"]
,["24", "47", "32", "60", "99", "03", "45", "02", "44", "75", "33", "53", "78", "36", "84", "20", "35", "17", "12", "50"]
,["32", "98", "81", "28", "64", "23", "67", "10", "26", "38", "40", "67", "59", "54", "70", "66", "18", "38", "64", "70"]
,["67", "26", "20", "68", "02", "62", "12", "20", "95", "63", "94", "39", "63", "08", "40", "91", "66", "49", "94", "21"]
,["24", "55", "58", "05", "66", "73", "99", "26", "97", "17", "78", "78", "96", "83", "14", "88", "34", "89", "63", "72"]
,["21", "36", "23", "09", "75", "00", "76", "44", "20", "45", "35", "14", "00", "61", "33", "97", "34", "31", "33", "95"]
,["78", "17", "53", "28", "22", "75", "31", "67", "15", "94", "03", "80", "04", "62", "16", "14", "09", "53", "56", "92"]
,["16", "39", "05", "42", "96", "35", "31", "47", "55", "58", "88", "24", "00", "17", "54", "24", "36", "29", "85", "57"]
,["86", "56", "00", "48", "35", "71", "89", "07", "05", "44", "44", "37", "44", "60", "21", "58", "51", "54", "17", "58"]
,["19", "80", "81", "68", "05", "94", "47", "69", "28", "73", "92", "13", "86", "52", "17", "77", "04", "89", "55", "40"]
,["04", "52", "08", "83", "97", "35", "99", "16", "07", "97", "57", "32", "16", "26", "26", "79", "33", "27", "98", "66"]
,["88", "36", "68", "87", "57", "62", "20", "72", "03", "46", "33", "67", "46", "55", "12", "32", "63", "93", "53", "69"]
,["04", "42", "16", "73", "38", "25", "39", "11", "24", "94", "72", "18", "08", "46", "29", "32", "40", "62", "76", "36"]
,["20", "69", "36", "41", "72", "30", "23", "88", "34", "62", "99", "69", "82", "67", "59", "85", "74", "04", "36", "16"]
,["20", "73", "35", "29", "78", "31", "90", "01", "74", "31", "49", "71", "48", "86", "81", "16", "23", "57", "05", "54"]
,["01", "70", "54", "71", "83", "51", "54", "69", "16", "92", "33", "48", "61", "43", "52", "01", "89", "19", "67", "48"]]
newArr = [[0] * len(arr[0]) for i in range(len(arr))]
print(newArr)
def greatestProduct(n):
for i in range(0, len(arr)):
for j in range(0, len(arr[i])):
right = 1
down = 1
rightdiag = 1
leftdiag = 1
if j + n < len(arr[i]):
for k in range(0, n):
right = right * int(arr[i][j+k])
if i + n < len(arr):
for k in range(0, n):
down = down * int(arr[i+k][j])
if j + n < len(arr[i]) and i + n < len(arr):
for k in range(0, n):
rightdiag = rightdiag * int(arr[i+k][j+k])
if j - n > -1 and i + n < len(arr):
for k in range(0, n):
leftdiag = leftdiag * int(arr[i+k][j-k])
newArr[i][j] = max(newArr[i][j], right, down, rightdiag, leftdiag)
print("i: ", i, " ;j: ", j, " ;Number: " , arr[i][j] , " ;Right: ", right, " ;Down: ", down, " ;rightdiag: ", rightdiag, " ;leftdiag: ", leftdiag, " ;Max: ", newArr[i][j])
n = int(input("Enter Number for n: "))
greatestProduct(n)
##print("Product Arr: ", newArr)
maximum = 0
for a in newArr:
print("Array: ", a)
print("Maximum: " , maximum, " ;Max(a): ", max(a))
maximum = max(maximum, max(a))
print("Max: " , maximum)