Какой алгоритм используется при возможности 2 неудачных попыток?
Какой угодно. Раз у задачи нет цели на минимизацию чего-либо, значит можно просто кидать один предмет с метра, двух, трёх и т.д., пока не разобъётся.
Предполагаю, что это известная задача, где надо минимизировать количество бросков в хужшем сулчае. Задача решается динамическим программированием.

Пусть C(n,k) - сколько надо в худшем случае бросков, если мы знаем, что предмет разбивается при бросании с 1..n и можно сделать k неудачных бросков. 

С(n,k) = min_i=1..n-1 ( max(C(i,k-1), C(n-i, k)) )) + 1

База - C(1, k) =  0; C(n, 1) = n-1.