Advertisement
Guest User

Untitled

a guest
Dec 20th, 2022
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | Software | 0 0
  1. class Node:
  2.   def __init__(self,v, p):
  3.     self.val=v
  4.     self.prev=p
  5.     self.next=None
  6.  
  7. with open("mix.txt") as infile:
  8.   items=[]
  9.   head=None
  10.   current=None
  11.   for i, line in enumerate(infile):
  12.     nn=Node(int(line)*811589153, current)
  13.     items.append(nn)
  14.     if head is None:
  15.       head=nn
  16.     else:
  17.       current.next=nn
  18.     current=nn
  19.   current.next=head
  20.   head.prev=current
  21.   cnt=len(items)
  22.   for mix in range(10):
  23.     for item in items:
  24.       if item.val==0:
  25.         continue
  26.       target=item
  27.       rem=abs(item.val)%(cnt-1)
  28.       for i in range(rem):
  29.         if item.val<0:
  30.           target=target.prev
  31.         else:
  32.           target=target.next
  33.       if item.val > 0:
  34.         target=target.next
  35.       item.next.prev=item.prev
  36.       item.prev.next=item.next
  37.       tprev=target.prev
  38.       tnext=target.next
  39.       target.prev=item
  40.       item.next=target
  41.       item.prev=tprev
  42.       tprev.next=item
  43.   target=head
  44.   while target.val != 0:
  45.     target=target.next
  46.   s=0
  47.   for rep in range(3):
  48.     for _ in range(1000):
  49.       target=target.next
  50.     s+= target.val
  51.      
  52.   print(s)
  53.        
  54.        
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement