Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def bfs(root):
- rs=root
- i=1
- ugly=15
- while rs is not None:
- n=rs
- rs=None
- c=None
- I=0
- flag=True
- while i:
- i -=1
- if flag:
- if n.right is not None:rs=c=n.right
- if n.left is not None:rs=c=n.left
- I=1
- flag=False
- if n.left is not None:
- c.right=n.left
- c=c.right
- I+=1
- if n.right is not None:
- c.right=n.right
- c=c.right
- I+=1
- print('c=',c.value,'\tn=',n.value,'\trs=',rs.value)
- n=n.right
- ugly+=1
- if ugly==20:return
- i=I
- import binarytree as b
- tree=b.tree(is_perfect=True);print(tree);bfs(tree)
- ans=tree.left.left.right.value
- ans=tree.left.right.right.value
- ans=tree.right.left.value
- ans=tree.right.right.value
- from itertools import combinations
- l=[5,10,15,20,25]
- def f(l):
- for c in combinations(range(len(l))):
- c=set(c)
- s=set(range(len(l)))-c
- c=set(gather(l,*list(c)))
- s=set(gather(l,*list(s)))
- s1=sum(c,0)
- s2=sum(s,0)
- yield abs(s1-s2),c,s
- ans=f(l)
- for x in ans:
- print(x)
- for x in f(l):
- print(x)
- def f(l):
- for i in range(len(l)):
- for c in combinations(range(len(l)),i):
- c=set(c)
- s=set(range(len(l)))-c
- c=set(gather(l,*list(c)))
- s=set(gather(l,*list(s)))
- s1=sum(c,0)
- s2=sum(s,0)
- yield abs(s1-s2),c,s
- for x in f(l):
- print(x)
- def f(l):
- for i in range(len(l)):
- for c in combinations(range(len(l)),i):
- c=set(c)
- s=set(range(len(l)))-c
- c=set(gather(l,list(c)))
- s=set(gather(l,list(s)))
- s1=sum(c,0)
- s2=sum(s,0)
- yield abs(s1-s2),c,s
- for x in f(l):
- print(x)
- def g(l):
- return min(f(l),key= lambda x: x[0])[1:]
- ans=f(l)
- ans=g(l)
- ans=randints(10)
- l= ans
- ans=g(ans)
- ans=g(l)
- ans=g(l)
- ans=g(l)
- ans=g(l)
- def t(l):
- a=0
- b=0
- A=set()
- B=set()
- def score(a,b):
- return abs(a-b)
- for i in sorted(l,reverse=True):
- if score(a+i,b)<score(a,b+i):
- a+=i
- A.add(i)
- else:
- b+=i
- B.add(i)
- return A,B
- ans=t(l)
- def score(ans):
- return abs(sum(ans[0])-sum(ans[1]))
- ans=score(ans)
- ans=score(({65, 17, 59, 61}, {89, 74, 4, 28, 5}))
- ans=l
- g()
- ans=g(l)
- ans=t(l)
- def t(l):
- a=[]
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a.index(i)
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b.index(i)
- a.append(i)
- for _ in range(len(l)*10):
- return a,b
- def t(l):
- a=[]
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a.index(i)
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- return a,b
- def t(l):
- a=[]
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- return a,b
- ans=t(l)
- def t(l):
- a=l.copy()
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- return a,b
- ans=t(l)
- def t(l):
- a=l.copy()
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- return a,b
- ans=t(l)
- def t(l):
- a=l.copy()
- b=[]
- def move():
- for i in a:
- if score(a,b)>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score(a,b)>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- move()
- return a,b
- t(l)
- def t(l):
- a=l.copy()
- b=[]
- def move():
- for i in a:
- if score((a,b))>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score((a,b))>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- move()
- return a,b
- t(l)
- ans=l
- ans=r
- def t(l):
- l=list(l)
- a=l.copy()
- b=[]
- def move():
- for i in a:
- if score((a,b))>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score((a,b))>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- move()
- return a,b
- ans=t(l)
- ans=score(ans)
- def t(l):
- l=list(l)
- a=l.copy()
- b=[]
- def move():
- nonlocal a,b
- a=shuffled(a)
- b=shuffled(b)
- for i in a:
- if score((a,b))>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score((a,b))>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*10):
- move()
- return a,b
- ans=t(l)
- ans=score(ans)
- def t(l):
- l=list(l)
- a=l.copy()
- b=[]
- def move():
- nonlocal a,b
- a=shuffled(a)
- b=shuffled(b)
- for i in a:
- if score((a,b))>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score((a,b))>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*100):
- move()
- return a,b
- ans=t(l)
- ans=score(ans)
- def I(a,b):
- def iscore(i,a,b):
- A=a.copy()
- B=b.copy()
- B.append(a[i])
- del A[i]
- return (score((a,b))-score((A,B)))
- def isc(i):
- return iscore(i,a,b)
- return max(range(len(a)),key=isc)
- def S(a,b,i):
- b.append(a[i])
- del a[i]
- def F(a):
- a=list(a)
- A=a.copy()
- B=[]
- for _ in range(len(a)):
- S(A,B,I(A,B))
- return A,B
- ans=F(l)
- def I(a,b):
- def iscore(i,a,b):
- A=a.copy()
- B=b.copy()
- B.append(a[i])
- del A[i]
- return (score((a,b))-score((A,B)))
- def isc(i):
- return iscore(i,a,b)
- out=max(range(len(a)),key=isc)
- if isc(out)>=0:
- return out
- return None
- def F(a):
- a=list(a)
- A=a.copy()
- B=[]
- for _ in range(len(a)):
- ii=I(A,B)
- if ii is None:
- return
- S(A,B,ii)
- return A,B
- F(l)
- def F(a):
- a=list(a)
- A=a.copy()
- B=[]
- for _ in range(len(a)):
- ii=I(A,B)
- if ii is None:
- break
- S(A,B,ii)
- return A,B
- ans=F(l)
- ans=score(ans)
- ans=g(l)
- ans=score(ans)
- ans=randints(20)
- l= ans
- g(ans)
- def t(l):
- l=list(l)
- a=l.copy()
- b=[]
- def move():
- nonlocal a,b
- a=shuffled(a)
- b=shuffled(b)
- for i in a:
- if score((a,b))>abs((sum(a)-i)-(sum(b)+i)):
- del a[a.index(i)]
- b.append(i)
- for i in b:
- if score((a,b))>abs((sum(a)+i)-(sum(b)-i)):
- del b[b.index(i)]
- a.append(i)
- for _ in range(len(l)*100):
- move()
- return a,b
- ans=t(l)
- ans=score(ans)
- score(t(k))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=score(t(l))
- ans=F(l)
- ans=score(ans)
- def f(l):
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a)-sum(b)
- d=enumerate(diff-e for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a)-sum(b)
- d=enumerate(diff-e for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- ans=f(l)
- ans=f(l)
- ans=randints(10)
- ans=f(ans)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a)-sum(b)
- d=enumerate((i,diff-e) for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(ans)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=enumerate((i,diff-e) for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(ans)
- f(l)
- ans=l
- f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=enumerate((i,diff-e) for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=enumerate((i,diff-e) for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- print(v)
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=enumerate((i,diff/2-e) for i,e in enumerate(a))
- i,v=max(d,key= lambda x: x[1])
- print(v)
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=enumerate((i,diff/2-e) for i,e in enumerate(a))
- print(list(d))
- i,v=max(d,key= lambda x: x[1])
- print(v)
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=tuple((i,diff/2-e) for i,e in enumerate(a))
- print(list(d))
- i,v=max(d,key= lambda x: x[1])
- print(v)
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- ans=f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=tuple((i,e,diff/2-e) for i,e in enumerate(a))
- print(list(d))
- i,v,_=max(d,key= lambda x: x[2])
- print(v)
- if v<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- ans=f(l)
- def f(l):
- l=list(l)
- a=l.copy()
- b=[]
- for _ in range(len(a)):
- diff=sum(a,0)-sum(b,0)
- d=tuple((i,e,diff/2-e) for i,e in enumerate(a))
- print(list(d))
- i,v,_=min(d,key= lambda x: x[2])
- print(v)
- if _<=0:
- break
- del a[i]
- b.append(v)
- return a,b
- ans=f(l)
- ans=score(ans)
- ans=t(l)
- ans=score(ans)
- ans=t(l)
- ans=score(ans)
- ans=F(l)
- ans=score(ans)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement