Пусть у нас всего один раунд, то есть определить надо за 12 часов, а не за 24. Тогда у нас сильно ограниченная информация, которую несут заключённые. Оптимальный вариант -- комбинаторика.
Берём первую бочку, даём её содержимое всем пяти заключённым. Если первая бочка отравлена, через 12 часов все они умрут.
Берём вторую бочку, даём её содержимое всем заключённым, кроме первого. Если вторая отравлена, через 12 часов умрут последние 4 смертника. Аналогично с третьей, четвёртой, пятой, шестой бочкой.
Дальше всё комбинируем-комбинируем... Последняя бочка из этого списка не будет даваться никому, то есть, если она отравлена, все останутся живы (ура-ура). Сколько бочек можно так проверить? По формуле:
C5^5 + C4^5 + C3^5 + C2^5 + C1^5 + C0^5, Cx^y=y!/((y-x)!x!)
= 1 + 5 + 10 + 10 + 5 + 1 = 32
Надо сказать, скромный результат.
Два раунда в таком случае -- это как бы как если бы мы располагали десятью заключёнными? Но нет... Если в первом раунде кто-то умрёт, во втором мы его уже использовать не сможем, увы. Впрочем... Почему бы этим не воспользоваться и записать в виде формулы?
Вот взяли мы первую бочку и дали всем пяти... Надо ли повторять это во втором раунде? Нет, с них довольно, больше информации не получим.
Взяли вторую и дали четырём, кроме первого... В следующем раунде можем дать её же первому или не давать. Два варианта имеем. Соответсвенно, либо умрут четыре кроме первого в первом раунде, а потом первый домрёт, либо четыре умрут, а первый нет. Таким образом можно две разные бочки получаются...
Итого:
C5^5*C0^5 + C4^5*(C0^1+C1^1) + C3^5*(C0^2+C1^2+C2^2) + C2^5*(C0^3+C1^3+C2^3+C3^3) + C1^5*(C0^4+C1^4+C2^4+C3^4+C4^4) + C0^5*(C0^5+C1^5+C2^5+C3^5+C4^5+C5^5) =
1*1 + 5*2 + 10*(1+2+1)+ 10*(1+3+3+1) + 5*(1+4+6+4+1) + 1* 32 =
1+10+40+80+80+32=243
Итого, такими комбинациями, проверяется до 243 бочек.
Ответ: можно
(^ -- это не степень, если что, а верхний индекс)