-
Notifications
You must be signed in to change notification settings - Fork 0
/
103.py
54 lines (46 loc) · 1.61 KB
/
103.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
import time,itertools
def obshii(spisok1, spisok2):
return list(set(spisok1) & set(spisok2))
def pari(n):
nov = []
nnn = []
for i in xrange(2,len(n)):
for kom in itertools.combinations(n, i):
a = sum(kom)
ko = []
ko.extend(kom)
ko.append(a)
ko.append(len(kom))
nov.append(ko)
nnn.append(a)
if len(set(nnn)) != len(nnn):
return 0
for i in xrange(len(nov)):
len_i = nov[i][-1]
for j in xrange(i,len(nov)):
if nov[i] != nov[j]:
if len_i < nov[j][-1] and nov[i][-2] > nov[j][-2]:
a = obshii(nov[i], nov[j])
if a == []:
return 0
elif len_i > nov[j][-1] and nov[i][-2] < nov[j][-2]:
a = obshii(nov[i], nov[j])
if a == []:
return 0
return sum(n)
try:
for i in xrange(1,46):
for i1 in xrange(i+1,46):
print i,i1
for i2 in xrange(i1+1,46):
for i3 in xrange(i2+1,46):
for i4 in xrange(i3+1,46):
for i5 in xrange(i4+1,46):
for i6 in xrange(i5+1,46):
a = [i,i1,i2,i3,i4,i5,i6]
k = pari(a)
if k != 0:
print a
raise StopIteration
except StopIteration:
print "vishli iz vseh", i, j , k