koteika282
26.11.2021 15:31

1) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней.

Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может

а) добавить в одну из куч (по своему выбору) два камня или

б) увеличить количество камней в куче в два раза.

Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую

позицию, что в обеих кучах всего будет 75 камней или больше.

Задание 1. Для каждой из начальных позиций (10, 32), (11, 31) укажите, кто из игроков имеет

выигрышную стратегию.

Задание 2. Для каждой из начальных позиций (10, 31), (11,30), (12,30) укажите, кто из

игроков имеет выигрышную стратегию.

Задание 3. Для начальной позиции (10,29) укажите, кто из игроков имеет выигрышную

стратегию. Постройте дерево всех партий, возможных при указанной выигрышной стратегии.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ti0013
11.07.2022 22:24
Вот http://pastebin.com/x5kVbW2D
Подредактируй ввод вывод.

или вот
#include<bits/stdc++.h>
using namespace std;
const int N = 1024+3; //size of "RAM"vector<pair<bool, int> > ram(N); //ram
int get_area(int n){    for (int i = 0; i < N-n-1 ; i ++)    {        if(ram[i].first == false)        {            int j;            for (j = i; j < i+n ; j ++ )                if(ram[j].first == true)                    break;            if (ram[j].first == true)            {                i = j;                continue;            }            for(j = i ; j < i+n ; j ++)            {                ram[j].first = true;                ram[j].second = i;            }            return i;        }    }    return -1;
}
string del_area(int n){    int j = n;    for(int i = n ; ram[j].second == ram[i].second && i < N-1; i ++)    {        ram[i].first = false;        ram[i].second = 0;    }    return "Success! Area deleted!";}
int get_status(){    cout << endl << "Byte using of 1024 RAM:" << endl;    for(int i = 0 ; i < N-2 ; i ++)    {        if(ram[i].first == false)            cout << "-" << ' ';        else            cout << ram[i].second << ' ';    }}
int main(){    ///code by Dmitry Kulazhenko (DmitryCpp)    ///ram index begins at 0    ///give area of RAM, size n   get_area  enter   n    ///delete area, with start index n  del_area   enter  n    ///give status of using RAM   get_status    ///to quit   exit    string s;    while( s != "exit" )    {        cin >> s;        if (s == "get_area")        {            int n;            cin >> n;            cout << get_area(n);            cout << endl;        }        if (s == "del_area")        {            int n;            cin >> n;            cout << del_area(n);            cout << endl;        }        if (s == "get_status")        {            cout << get_status();            cout << endl;        }    }    return 0;}
0,0(0 оценок)
Ответ:
marisha1234567890e
06.09.2020 17:22
Системное программирование (или программирование систем) — род деятельности, заключающийся в работе над системным программным обеспечением.

Основная отличительная черта системного программирования по сравнению с прикладным программированием заключается в том, что результатом последнего является выпуск программного обеспечения, предлагающего определённые услуги пользователям (например, текстовый процессор) . В то время как результатом системного программирования является выпуск программного обеспечения, предлагающего сервисы по взаимодействию с аппаратным обеспечением (например, дефрагментация жёсткого диска) , что подразумевает сильную зависимость таких программ от аппаратной части. В частности выделим следующее:
программист должен учитывать специфику аппаратной части и другие свойства системы в которой функционирует программа, использовать эти свойства, например, применяя специально оптимизированный для данной архитектуры алгоритм.
обычно используется низкоуровневый язык программирования или такой диалект языка программирования, который
позволяет функционирование в окружении с ограниченным набором системных ресурсов.
работает максимально эффективно и имеет минимальное запаздывание по времени завершения.
имеет маленькую библиотеку времени выполнения (RTL) или не имеет её вообще.
позволяет прямое управление (прямой доступ) к памяти и управляющей логике.
позволяет делать ассемблерные вставки в код.
отладка программы может быть затруднена при невозможности запустить её в отладчике из-за ограничений на ресурсы, поэтому может применяться компьютерное моделирование для решения этой проблемы.

Системное программирование существенно отличается от прикладного, что обычно приводит к специализации программиста в одном из них.

Часто, для системного программирования доступен ограниченный набор средств. Использование автоматической сборки мусора довольно редкое явление и отладка обычно сложна. Библиотека времени выполнения, при её наличии, часто менее и совершает меньшее количество проверок. В связи с этими ограничениями обычно применяют при мониторинге и записи данных — операционные системы.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота