To get a seating arrangement, first seat everyone randomly. If no rivals are next to each other, we're done. If not, there exists rivals A and B such that B is sitting to the right of A. We want to "swap" B with one of A's non-rivals, C, such that the person to the right of C, (call this person D) is not a rival of B. Such a C always exists because A has x non-rivals and B only has x-1 rivals.

Here's how we do the swap:

Starting from A and looking right, we have something like ABXYZCD, where we know A is rivals with B, but B is not rivals with D and A is not rivals with C. If we reverse the order of everyone between A and D, we get something like ACZYXBD. Now, B is next to one fewer rivals, and C's number of adjacent rivals didn't increase. (they're still next to Z, and A isn't a rival, but we don't know if D was). Thus, we've decreased the number of rivals sitting next to each other by 1. (if C and D weren't rivals) or by 2 (if C and D were rivals).

We repeat this process until there are no more rivals sitting next to each other.