Approval Voting:
For each vote, look at the first X listed candidates. For the Yth character of the serial number, X is Y modulo 3, plus 1. Add 1 to the score(s) of those listed candidate(s). Sort candidates from highest to lowest for their placing.
STV (Single Transferrable Vote)
For each vote, look at the first listed candidate. Add 1 to that candidate's score.
 The candidate with the highest score is "eliminated" and gets first place. If there are multiple such candidates, use the first one in reading order.
 Their score is redistributed to the other candidates. For each vote that contributed to their score, find the first noneliminated candidate listed on that vote and transfer the point to them.
 Now repeat steps 1 and 2 twice to find second and third place. The noneliminated candidate places last.
Condorcet Method:
Make a table like so, where the rows represent the winner of a matchup and the columns represent the loser of a matchup:

A 
B 
C 
D 
A 

0 
0 
0 
B 
0 

0 
0 
C 
0 
0 

0 
D 
0 
0 
0 

For each vote, add 1 to the cells corresponding to the results of each matchup. For example, in the vote ABCD (using the [row, column] coordinate format):
 A beats B, C and D, so you would add 1 to (A, B), (A, C) and (A, D).
 B beats C and D, so you would add 1 to (B, C) and (B, D).
 C beats D, so you would add 1 to (C, D).
The candidate who beat every candidate more than they were beaten by them (in other words, all cells in their row are greater than 3) wins. Sort the remaining candidates in descending order by the sum of the numbers in their rows. If there is no such candidate, sort all of the candidates in descending order by the sum of the numbers in their rows immediately.