-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFoxAndSightseeing.py
110 lines (87 loc) · 2.62 KB
/
FoxAndSightseeing.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
import math
import string
class FoxAndSightseeing:
def getMin(self, position):
minNum=1000000000;
for i in range(1,len(position)-1):
old=position[0]
sum=0
for j in range(1,len(position)):
if (i!=j):
sum+=abs(old-position[j])
old=position[j]
minNum=min(sum, minNum)
return minNum;
# BEGIN KAWIGIEDIT TESTING
# Generated by KawigiEdit-pfx 2.1.9
import sys
import time
def KawigiEdit_RunTest(testNum, p0, hasAnswer, p1):
sys.stdout.write(str("Test ") + str(testNum) + str(": [") + str("{"))
for i in range(len(p0)):
if (i > 0):
sys.stdout.write(str(","))
sys.stdout.write(str(p0[i]))
sys.stdout.write(str("}"))
print(str("]"))
obj = FoxAndSightseeing()
startTime = time.clock()
answer = obj.getMin(p0)
endTime = time.clock()
res = True
print(str("Time: ") + str((endTime - startTime)) + str(" seconds"))
if (hasAnswer):
print(str("Desired answer:"))
print(str("\t") + str(p1))
print(str("Your answer:"))
print(str("\t") + str(answer))
if (hasAnswer):
res = answer == p1
if (not res):
print(str("DOESN'T MATCH!!!!"))
elif ((endTime - startTime) >= 2):
print(str("FAIL the timeout"))
res = False
elif (hasAnswer):
print(str("Match :-)"))
else:
print(str("OK, but is it right?"))
print(str(""))
return res
all_right = True
# ----- test 0 -----
p0 = [1,4,-1,3]
p1 = 4
all_right = KawigiEdit_RunTest(0, p0, True, p1) and all_right
# ------------------
# ----- test 1 -----
p0 = [-2,4,3]
p1 = 5
all_right = KawigiEdit_RunTest(1, p0, True, p1) and all_right
# ------------------
# ----- test 2 -----
p0 = [1,2,3,4,5,6,7,8,9,10]
p1 = 9
all_right = KawigiEdit_RunTest(2, p0, True, p1) and all_right
# ------------------
# ----- test 3 -----
p0 = [100,-100,99,-99]
p1 = 199
all_right = KawigiEdit_RunTest(3, p0, True, p1) and all_right
# ------------------
# ----- test 4 -----
p0 = [74,84,92,23,5,-70,-47,-59,24,-86,-39,99,85,-42,54,100,47,-3,42,38]
p1 = 836
all_right = KawigiEdit_RunTest(4, p0, True, p1) and all_right
# ------------------
# ----- test 5 -----
p0 = [2,-3,5,7,-11,-13,17,-19,23,29,-31,-37,-41,43,-47,-53,-59,61,-67,71]
p1 = 535
all_right = KawigiEdit_RunTest(5, p0, True, p1) and all_right
# ------------------
if (all_right):
print(str("You're a stud (at least on the example cases)!"))
else:
print(str("Some of the test cases had errors."))
# END KAWIGIEDIT TESTING
#Powered by KawigiEdit-pfx 2.1.9!