Nastyha1741
19.08.2021 05:05

Пишите без рекурсии (псевдокод) используя циклы. function minimax(node, depth, maximizingplayer) is if depth = 0 or node is a terminal node then return the heuristic value of node if maximizingplayer then value : = −∞ for each child of node do value : = max(value, minimax(child, depth − 1, false)) return value else (* minimizing player *) value : = +∞ for each child of node do value : = min(value, minimax(child, depth − 1, true)) return value (* initial call *) minimax(origin, depth, true)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Hause1
13.02.2023 15:33
Тебя интересует левое верхнее число из матрицы \begin{pmatrix}
1 & 1 \\ 1 & 1
\end{pmatrix}^{12}, что, кстати, является 12 числом фибоначчи

#include <iostream>
// матрица 2 на 2// a  b// c  dtemplate< typename T = int >class matrix2{public:    T a, b, c, d;
    matrix2() : a(0), b(0), c(0), d(0)    {}    matrix2(T a, T b, T c, T d) : a(a), b(b), c(c), d(d)    {}
    matrix2 & operator *= (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        a = ta, b = tb, c = tc, d = td;    }
    matrix2 operator * (matrix2 & other)    {        T ta, tb, tc, td;        ta = a * other.a + b * other.c;        tb = a * other.b + b * other.d;        tc = a * other.c + c * other.d;        td = b * other.c + d * other.d;        return matrix2(ta, tb, tc, td);    }
    matrix2 pow(int power)    {        matrix2 result(1, 0, 0, 1);        matrix2 cur = *this;        while (power)        {            if (power & 1)            {                power ^= 1;                result *= cur;            }            else            {                power >>= 1;                cur *= cur;            }        }        return result;    }
    void operator = (matrix2 other)    {        a = other.a;        b = other.b;        c = other.c;        d = other.d;    }
    friend std::ostream & operator << (std::ostream & ostr, matrix2 ma)    {        ostr << std::endl;        ostr << ma.a << "  " << ma.b << std::endl;        ostr << ma.c << "  " << ma.d << std::endl;        return ostr;    }
};
int main(void){    matrix2< int > m1(1, 1, 1, 0), tmp;
    const int N = 12;
    std::cout << m1.pow(N).a;
    return 0;}
0,0(0 оценок)
Ответ:
romak3104Ромчук
08.03.2022 16:08
Если в явном виде:

¬A&¬C = ¬A&(B v ¬B)&¬C = ¬A&B&¬C v ¬A&¬B&¬C
C&B = (A v ¬A)&B&C = A&B&C v ¬A&B&C
¬A&B = ¬A&B&(C v ¬C) = ¬A&B&C v ¬A&B&¬C

Т.е. исходное выражение =
¬A&B&¬C v ¬A&¬B&¬C v A&B&C v ¬A&B&C v ¬A&B&C v ¬A&B&¬C

Если убрать повторы, получится
A&B&C v ¬A&B&C v ¬A&B&¬C v ¬A&¬B&¬C =
= (A & ¬A)&B&C v ¬A&(B v ¬B)&¬C =
= B&C v ¬A&¬C
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота