Тест по игровым стратегиям. 1. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу один камень;
б) увеличить количество камней в любой куче в четыре раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 83. В начальный момент в первой куче было 5 камней, а во второй – S камней, 1 ≤ S ≤ 77.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Назовите минимальное значение S, при котором это возможно.
2.Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу три камня;
б) увеличить количество камней в любой куче в два раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 61. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 61 камень или больше. В начальный момент в первой куче было 7 камней, а во второй – S камней, 1 ≤ S ≤ 53.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
3.Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу два камня;
б) увеличить количество камней в любой куче в два раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 75. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 75 камней или больше. В начальный момент в первой куче было 9 камней, а во второй – S камней, 1 ≤ S ≤ 65.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
4. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в кучу один камень;
б) увеличить количество камней в куче в два раза;
в) увеличить количество камней в куче в три раза.
Игра завершается в тот момент, когда количество камней в куче становится не менее 43. Если при этом в куче оказалось не более 72 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник.
В начальный момент в куче было S камней, 1 ≤ S ≤ 42.
Найдите минимальное значение S, при котором Ваня выигрывает своим первым ходом при любой игре Пети.
- Мазмұн анықтамасын және мазмұнды пішімдеу әрекеттерін біледі;
- Word мәтіндік редакторының көмегімен бөлім атауын, тақырыбын автоматты түрде жинақтап және оны ұйымдастыра алады;
Тілдік мақсаттар
- Мазмұнды құрады және онымен жұмыс жасай алады.
Лексика мен терминология:
Мазмұны – Оглавление - Interpreter
Диалогпен жазу үшін пайдалы сөздер мен тіркемелер:
Мазмұн не үшін қажет?
Тақырыпқа стиль не үшін қажет?
Мазмұнды жаңарту қандай мақсатқа қолданылады?
Мазмұннан қажетті тақырыпқа қалай өтуге болады?
Құндылықтарға баулу
Қазақстандық патриотизм және азаматтық жауапкершілікке, мәтінді безендіруде оқушылардың қызығушылығын ояту, сөздікқорын, ойлау қабілетін, компьютерде жұмыс жасау дағдыларын қалыптастыру.
Пәнаралық байланыс
Қазақ тілі, ағылшын тілі (мәтінді тергенде, сөздікпен жұмыс жасағанда)
Математика (сызбаларды, әртүрл іпішімдерді қолданғанда)
Алдыңғы білім
Сілтеменің анықтамасын, гиперсілтемелерді қою әдістерін пайдалануды, мәтін теруді, пішімдеуді, қаріп, стиль орнатуды біледі
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
КодС++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}