Все удачные наборы команд должны включать остановку на отметке 11 футов. На отметку 1 фут робот может попасть с одной команды A; на отметку 2 фута - с команд AA и B (всего 2 набора команд); на отметку 3 фута - с команд AAA, AB, BA и C (4 набора). Так как за одну команду робот может переместиться на 1, 2 или 3 фута, то для подсчета количества наборов команд, позволяющих роботу попасть на отметки N > 3, можно использовать формулу K(N) = K(N-1)+K(N-2)+K(N-3). K(4) = K(3)+K(2)+K(1) = 4+2+1 = 7 K(5) = K(4)+K(3)+K(2) = 7+4+2 = 13 K(6) = K(5)+K(4)+K(3) = 13+7+4 = 24 K(7) = K(6)+K(5)+K(4) = 24+13+7 = 44 K(8) = K(7)+K(6)+K(5) = 44+24+13 = 81 K(9) = K(8)+K(7)+K(6) = 81+44+24 = 149 K(10) = K(9)+K(8)+K(7) = 149+81+44 = 274 K(11) = K(10)+K(9)+K(8) = 274+149+81 = 504 Так как вторая часть пути робота также имеет длину 11, то общее количество удачных наборов команд = 504*504 = 254016
#include <iostream>
#include <cmath>
int main() {
double x;
std::cin >> x;
if (1.0 < x <= 12.5) {
std::cout << 3 * pow(x, -3) << std::endl;
} else if (x > 12.5) {
std::cout << 13.44 << std::endl;
} else if (-15.4 <= x <= 1.0) {
std::cout << atan(abs(x + 1)) << std::endl;
} else {
std::cout << 1 << std::endl;
}
return 0;
}