Vello Olga
?>

На с++ реализуйте алгоритм бинарного поиска. входные данные в первой строке входных данных содержатся натуральные числа n и k (0nk100000 во второй строке n элементов первого массива, отсортированного по возрастанию, а в третьей строке – k элементов второго массива. элементы обоих массивов - целые числа, каждое из которых по модулю не превосходит 109 выходные данные требуется для каждого из k чисел вывести в отдельную строку "yes", если это число встречается в первом массиве, и "no" в противном случае. примеры входные данные 10 5 1 2 3 4 5 6 7 8 9 10 -2 0 4 9 12 выходные данные no no yes yes no

Информатика

Ответы

chumakanna17
//g++  5.4.0

#include <iostream>
#include <vector>
using namespace std;

template<class Iter, class T>
bool bin_s(const Iter begin, const Iter end, const T& val)
{
    Iter i = std::lower_bound(begin, end, val);

    if (i != end && !(val < *i))
        return true; 
    else
        return false;
}

int main()
{
    size_t N, M;
    cin >> N >> M;
    vector<int> v1(N);
    vector<int> v2(M);
   
    for (size_t i = 0; i < N; ++i) 
            cin >> v1[i];

    for (size_t i = 0; i < M; ++i) 
    {
        cin >> v2[i];
        if ( bin_s(v1.begin(), v1.end(), v2[i]) ) 
            cout << "YES" << endl;
        else 
            cout << "NO" << endl;
    }
}
Екатерина_Кирушев
1) F=Av(¬A&B)
По закону дистрибутивности раскроем скобки
(Av¬A)&(AvB)
Av¬A = 1, значит остаётся AvB

2) F =A&(¬AvB)
По тому же закону раскрываем скобки
(A&¬A)v(A&B)
A&¬A = 0, значит остаётся A&B

3. (AvB)&(¬BvA)&(¬CvB)
По закону склеивания (AvB)&(¬BvA) = A , получается, что выражение принимает вид
A&(¬CvB)
Можно раскрыть скобки, получим
A&¬C v A&B

4) F =(1v(AvB))v((AC)&1) 
Скобка (1v(AvB)) = 1, так как 1 v ЧТОУГОДНО = 1
Получаем выражение
1v((AC)&1) = 1, так как 1 v ЧТОУГОДНО = 1
ответ 1
zuzman601

Всё делать не буду, потому что долго..

Задание 1:

Условие

Варианты:

1) +1

2) *2

63 и больше - победа

1 куча - 5 камней,  2 куча S камней [1,57]

1 номер:

63 - 5 = 58

а) S ∈ [29.57]

Петя увеличивает бОльшую кучу в два раза и побеждает

б) Допустим, что Петя сглупил и сходил 29+1=30, тогда в s куче 30 камней. Ваня умножает эту кучу в два раза и в сумме получает 60+5=65 камней, и побеждает так.

2 номер:

Здесь нужно рисовать либо дерево, либо таблицу.

S = 27

"первая картинка"

3 номер делается точно также как и второй, просто от 27 прибавляй по очереди (28,29,30) пока не выйдет что Ваня побеждает либо с первого, либо со второго хода


Решить эти на выигрышные стратегии. любым удобным вам желательно покороче. мне нужно решение, потому

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

На с++ реализуйте алгоритм бинарного поиска. входные данные в первой строке входных данных содержатся натуральные числа n и k (0nk100000 во второй строке n элементов первого массива, отсортированного по возрастанию, а в третьей строке – k элементов второго массива. элементы обоих массивов - целые числа, каждое из которых по модулю не превосходит 109 выходные данные требуется для каждого из k чисел вывести в отдельную строку "yes", если это число встречается в первом массиве, и "no" в противном случае. примеры входные данные 10 5 1 2 3 4 5 6 7 8 9 10 -2 0 4 9 12 выходные данные no no yes yes no
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Irina_Nikolai
margarita25061961
vapebroshop
Pervosha
sryzhova6392
Pilotmi247074
ПодлеснаяМакарова1883
Некрасов Валентина1097
fakyou170
Полковников_Милана
Rafigovich1267
galtig83
Maloletkina-marina2
Голосова-Лобанов1555
Маринина_Елена