Игровая стратегия 1. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу один камень;
б) увеличить количество камней в любой куче в четыре раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 95. В начальный момент в первой куче было 5 камней, а во второй – S камней, 1 ≤ S ≤ 89.
Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания через знак *.
2. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча, состоящая из S конфет. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может съесть не более пяти, но не менее одной конфеты или съесть половину конфет, если число конфет четное. Съесть можно только целое количество конфет.
Игра завершается в тот момент, когда в куче останется менее десяти конфет. Победителем считается игрок, который сделал последний ход.
Укажите через знак * минимальное и максимальное S, при которых Петя не может выиграть первым ходом, но может выиграть вторым ходом при любом ходе Вани. Например, 7*12.
3. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
а) добавить в любую кучу один камень;
б) увеличить количество камней в любой куче в четыре раза.
Игра завершается в тот момент, когда суммарное количество камней в двух кучах становится не менее 105. В начальный момент в первой куче было 4 камня, а во второй – S камней, 1 ≤ S ≤ 100.
Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания через знак *.
4. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу два камня, добавить в кучу три камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 17, 18 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 30. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 30 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 29.
Сколько существует значений S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
ответ:а) var x,y: real;б) var a,b,s: real;(a,b - стороны прямоугольника, s - площадь прямоугольника)в) var k:integer;ct,co,s: real;(k - количество тетрадей, ct,co - стоимость 1 тетради и 1 обложки (соответственно), s - стоимости покупки)г) var kt,kk,kr:integer;ct,ck,cr,s: real;(kt,kk,kr - количество тетрадей, карандашей и ручек (соответственно), ct,ck,cr - стоимость 1 тетради, 1 карандаша и 1 ручки (соответственно), s - стоимость покупки)Данные вещественного (real) типа используются значительно чаще целого типа. Они необходимы в тех случаях, когда числовые значения могут содержать дробные части.Данные целочисленного (integer) типа используются для представления целых чисел.
Объяснение:
ИТМО пишете?
GNU C++
#include <iostream>
#include <vector>
using namespace std;
signed main() {
int N,k=0;
cin>>N;
int a[N];
vector<pair<int,int> >b;
for(int i=0;i<N;i++)
{
cin>>a[i];
}
int c = 1;
for(int i=1;i<N;i++)
{
if (a[i]==a[i-1])
{
c++;
}
else
{
b.push_back(make_pair(a[i-1],c));
c=1,k++;
}
}
b.push_back(make_pair(a[N-1],c));
cout<<k<<endl;
for(int i=0;i<b.size();i++)
{
cout<<b[i].first<<' '<<b[i].second<<endl;
}
return 0;
}