Я думаю, была бы какая-нибудь симметричная хеш-функция от конечного
в
. При этом множество
было бы множеством, допустим, номеров автомобилей, и у каждого авто был бы свой уникальный номер (сравнительная величина номеров будет не так важна, там вся справдливость зависит от хеш функции, если что). Номера должны быть легко распознаваемыми и легко сравниваемыми по величине (чтобы узнавать, какое больше).
будет значить, что машина с
большим номером едет вверх,
— что вниз.
Пример:Допустим, встречаются две машины, А и Б. Рассмотрим, что делает машина А. Она считает хеш функцию от номеров А и Б, получает
, допустим. Дальше сравнивает номера — свой и Б. Номер А меньше, чем номер Б. Значит, А должна ехать вниз.
У машины Б аналогичные действия. Только хеш-функция от номеров Б и А, они в другом порядке, но так как хеш-функция симметричная, значение получается также
. Дальше сравнивает номера — о, у нас больше, едем вверх, тратим топливо.
P.S. Нумерация машин и сравнение номеров (а также их практическое сравнение и вычисление хешей) могут быть реализованы любым удобным на практике образом. В том числе приближённым — можно просто независимо от других генерировать случайны номер в большом диапазоне (как-то это называется, тогда можно обойтись без централизации, но стоит предусмотреть маленькую вероятность коллизии и правила её разрешения (допустим, поменять номера одному (а лучше обоим, т.к. симметричней, а в этой задачке мы считаем симметрию важной) если не попали в такую ситуацию, а просто ехали паралелльно и вдруг заметили такое). Хотя при встрече лоб-в-лоб двух машин с одинаковым номером будет плохо, если большие скорости/недостаточно быстрые водители.