Одну банку нужно открыть...))
Предположим, что мы открыли банку, на которой написано "зеленая". И увидели в ней, к примеру, желтую.
Тогда в оставшейся банке с надписью "синяя" не может быть ни синей (по условию), ни желтой (мы ее уже открыли). Следовательно, в банке с надписью "синяя" находится зеленая краска, а в банке с надписью "желтая" находится синяя краска.
Если же в "зеленой" открытой банке мы увидели синюю краску, то, рассуждая аналогично, получаем в "желтой" банке зеленую краску, а в синей, соответственно, желтую.
Ответ: наименьшее число открытых банок - 1.