How to assign people to categories based on some voting rules?

Say in an election there are predefined categories users can be assigned to. Of the people who are assigned to a certain category, other users can vote for them. To compute the results, the following rules have to be adhered to:

1. Highest voted user in category wins
2. If 1 user have same 5 vote count for 1 category and 8 vote for 2 category then he/she will be elected for category 2.
3. If 1 user have same 5 vote count for 1 category and 5 vote for 2 category then the winner selection will be On Hold
4. If two or more users in a same category has the same votes, then goes on hold

So, for example: the table lists the positions and for each position it gives the name of the user and the votes they received.

For this, the winners should be as follows:

• Position 1: User 1
• Position 2: User 3
• Position 3: User 2 (User 3 loses because of rule 2 and wins in position 2)
• Position 4: User 5 and User 6 are both kept on hold (rule #4)
• Position 5: User 4 on hold (rule #3)
• Position 6: User 4 on hold (rule #3)

I have tried solving this using the Hungarian algorithm to no avail. It works quite well, after some modifications, for this problem. But doesn't live up to the following case:

In this case, the results are as follows:

• Position 1: User 1
• Position 2: User 2
• Position 3: EMPTY (User 1 and 2 loses due to rule 2)
• Position 4: EMPTY (User 1 and 2 loses due to rule 2)
• Position 5: EMPTY (User 1 and 2 loses due to rule 2)

Basically, no user can be assigned to more than one position.

Any help solving this would be extremely helpful.

Thank you