Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. i) find minimum k using binary search
  2.  
  3. ii) make k lists (packets)
  4.  
  5. iii) call the function above passing (n, s, k, 0, packets)
  6.  
  7.  
  8. solve(n, s, k, pos, packets):
  9.  
  10. if (|s| == k):
  11. return s;
  12.  
  13. for i = 1 to |s|:
  14. s' = s - s[0]
  15. s' = s' - s[i]
  16.  
  17. s' = s' U (s[0]+s[i])
  18.  
  19. if (FP(n,s',k)):
  20. packets[pos].append(s[0],s[i])
  21. return solve(n, s',k,pos,packets)
  22.  
  23. swap(s[0],s[|s|-1])
  24.  
  25. return solve(n,s,k,pos+1,packets)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement