Advertisement
kntreadway

Untitled

Jan 7th, 2012
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.73 KB | None | 0 0
  1. def generate_substrings(string, substrings={})
  2.   lower = 0
  3.   max_len = string.length - 1
  4.  
  5.   while lower < string.length do
  6.     lower.upto(max_len) do |upper|
  7.       substrings[string[lower..upper]] = true
  8.     end
  9.     lower += 1
  10.   end
  11. end
  12.  
  13.  
  14. num_strings = gets.strip().to_i
  15. strings = {}
  16. substrings = {}
  17.  
  18. num_strings.times do |i|
  19.   str = gets.strip()
  20.   strings[str] = true
  21.   generate_substrings(str, substrings)
  22. end
  23.  
  24.  
  25. sorted_substrings = substrings.keys.sort
  26.  
  27. #num_queries = input.readline.strip().to_i
  28. num_queries = gets.strip().to_i
  29. num_queries.times do |i|
  30.   query = gets.strip().to_i
  31.  
  32.   if query > sorted_substrings.length
  33.     STDOUT.puts "INVALID"
  34.   else
  35.     STDOUT.puts sorted_substrings[query - 1]
  36.   end
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement