diff --git a/src/ballot.rs b/src/ballot.rs index 4959cbe..dd20eda 100644 --- a/src/ballot.rs +++ b/src/ballot.rs @@ -1,5 +1,4 @@ use itertools::Itertools; - use crate::header::Header; #[derive(Copy,Clone,Debug,PartialEq)] @@ -72,7 +71,10 @@ impl Ballot { let mut votes = Vec::::new(); for party_id in self.votes { + let start = votes.len(); votes.extend(header.parties[party_id].member_ids.iter().copied()); + let votes_end = &mut votes[start..]; + votes_end.rotate_left(self.paper_id % votes_end.len()); } Ballot {