With some assumptions I think you can do this with a simple protocol.
We will break i into two parts: attempt an allocation which may succeed with reasonable liklyhood. And verify it. If verification fails try again.
The first step we can do by each party randomly selecting for himself if he is the chosen one with probability 1/n.
Verification we do with ...