Четыре стакана на столе
На вращающемся квадратном столе стоят четыре стакана, по стакану на каждом из углов стола. Некоторые из стаканов перевёрнуты вверх дном.
У вас завязаны глаза. Вы не знаете, какие стаканы стоят вверх дном, а какие - вниз дном. Необходимо перевернуть все стаканы либо вниз дном, либо все вверх дном, но:
- можно взять в руки любые два стакана;
- взяв стаканы, вы можете перевернуть один или два стакана, или, не переворачивая ни один, поставить стаканы на место;
- после того, как вы поставили стаканы на место, стол поворачивается на произвольное число оборотов, так что вы уже не знаете где какой стакан;
- в момент, когда все стаканы оказались перевёрнуты в одну сторону, вам сообщат об этом.
Придумайте алгоритм, который гарантированно позволит вам перевернуть все стаканы вниз дном или все стаканы вверх дном. Решение должно работать за конечное число ходов.