Здравствуйте, FDSC, Вы писали:
FDS>Первый вывод, который нужно было сделать: писать нормальное ТЗ и представлять алгоритм без потери существенной информации из условия.
Правильно это.
Наверное.
Писать ТЗ для олимпиадной задачи, которая делается для собственного удовольствия в свободное время... Куда, однако, катится мир?
FDS> Сразу бросилось в глаза, как ты описываешь логику работы хамелеонов
FDS>FDS>Первый хамелеон приходит на место встречи, видит, что swappedColor_ равен null, понимает, что он первый. В swappedColor_ помещается указатель на локальную переменную с собственным цветом. И засыпает.
FDS>Приходит второй хамелеон, видит, что swappedColor_ не равен null, считывает из нее цвет первого, записывает свой цвет, пинает первого и уходит.
FDS>Первый просыпается, обнуляет swappedColor_, берет из своей локальной переменной цвет второго и уходит, освобождая площадку.
FDS>Задание было изначально неточно переведено в формальное ТЗ, а затем и в алгоритм, естественно, после этого хоть ты десять раз правильно спроектируй систему, всё равно ошибка может спокойно возникнуть.
Очень верные слова. Даже спорить не буду.
Осмелюсь только сделать ремарку, что описанный в цитате алгоритм работы хамелеонов является частью одного из решений,
с ограничением числа хамелеонов на месте встречи с помощью семафора.
Но это так -- брюзжание старого практика, которого молодежь попрекает его же ошибками. Не обращайте внимания. Я с интересом послушаю еще несколько умных замечаний в свой адрес.