Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Node:
- def __init__(self,v, p):
- self.val=v
- self.prev=p
- self.next=None
- with open("mix.txt") as infile:
- items=[]
- head=None
- current=None
- for i, line in enumerate(infile):
- nn=Node(int(line)*811589153, current)
- items.append(nn)
- if head is None:
- head=nn
- else:
- current.next=nn
- current=nn
- current.next=head
- head.prev=current
- cnt=len(items)
- for mix in range(10):
- for item in items:
- if item.val==0:
- continue
- target=item
- rem=abs(item.val)%(cnt-1)
- for i in range(rem):
- if item.val<0:
- target=target.prev
- else:
- target=target.next
- if item.val > 0:
- target=target.next
- item.next.prev=item.prev
- item.prev.next=item.next
- tprev=target.prev
- tnext=target.next
- target.prev=item
- item.next=target
- item.prev=tprev
- tprev.next=item
- target=head
- while target.val != 0:
- target=target.next
- s=0
- for rep in range(3):
- for _ in range(1000):
- target=target.next
- s+= target.val
- print(s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement