Друзья Винни C++

Винни Пух решил поиграть со своими друзьями в одну интересную игру. Винни взял камешки и разложил их в ряд на M кучек. Каждый из друзей Винни подходил и брал самую левую кучку камешков и раскладывал все взятые камешки во все последующие кучки по одному камушку. Если кучек камушков меньше, чем камушков, взятых другом, то оставшиеся камушки образуют новые кучки, так продолжается до тех пор, пока не сделает ход последний из друзей Винни. После игры на поле остается N кучек камушков. Рассмотрим пример такой игры:

Задание состоит в том, чтобы зная начальное расположение камушков по кучках и конечное состояние, определить количество друзей Винни.

Входные данные

   В первой строке задано два числа – M и N (2 ≤ M, N ≤ 1000), M – количество кучек кучек в начальном состоянии, N – количество кучек камушков после игры. Во второй строке находятся M целых чисел (начальное состояние), Mi - количество камушков в i-ой кучке (1 ≤ Mi ≤ 100). В третьей строке соответственно находятся Ni целых чисел (1 ≤ N ≤ 100).

Выходные данные

   Вывести одно число - количество друзей Винни.

 

#include <iostream>
using namespace std;
int n, m, h, N[1000], M[1000], answer = 0;

bool check()
{
    if (h == n) for (int i = 0; i < h; i++) if (N[i] != M[i]) return false;
    if (h != n) return false;
    return true;
}

int main()
{
    for (int i = 0; i < 1000; i++) { N[i] = 0; M[i] = 0; }
    cin >> m >> n; h = m;
    for (int i = 0; i < m; i++) cin >> M[i];
    for (int i = 0; i < n; i++) cin >> N[i];
    while (!check())
    {
        for (int i = 1; M[0]; i++)
        {
            if (!M[i]) h++;
            M[0]--;
            M[i]++;
        }
        for (int i = 1; i < h; i++) M[i - 1] = M[i];
        M[h - 1] = 0;
        h--;
        answer++;
    }
    cout << answer << endl;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top