Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sort_and_count_inversions(seq):
- """Sort a sequence and count inversions.
- Argument: seq -- a sequence
- Result: number of inversions (cases where i < j, but seq[i] > seq[j]).
- Side effect: seq is sorted.
- """
- def sort_and_count(seq, start, end):
- if end - start < 2:
- return 0
- middle = (start + end) // 2
- return (sort_and_count(seq, start, middle)
- + sort_and_count(seq, middle, end)
- + merge_and_count_inversions(seq, start, middle, end))
- return sort_and_count(seq, 0, len(seq))
- tabela = input()
- array = list(tabela)
- print (sort_and_count_inversions(array))
Add Comment
Please, Sign In to add comment