B. Печеньки Ограничение времени 1 секунда
Ограничение памяти 10.0 Мб
Ввод стандартный ввод
Вывод стандартный вывод
На столе стоят три чашки с печеньками. В левой вазе лежат X печенек, в средней вазе лежат Y печенек, в правой вазе лежат Z печенек. Ринат съедает одну печеньку из левой чашки, затем – одну печеньку из средней чашки, затем из правой, средней, левой, средней, правой, средней и т. д. (слева направо, затем налево, опять направо и т.д.). Если Ринат хочет взять печеньку из какой-то чашки, а печенек там нет, он расстраивается и уходит. Определите, сколько печенек съест Ринат.
Формат ввода
Программа получает на вход три целых неотрицательных числа X, Y, Z – количество печенек в левой, средней, правой чашке.
3
3
3
Формат вывода
Выведите количество печенек, которые съест Ринат.
7
решить
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace std;
const int N = 5;
const int M = 6;
int A[N][M];
//Как-нибудь заполняем массив
srand(time(0));
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
A[i][j] = rand() % (N * M) + 1;
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
cout << setw(4) << A[i][j];
cout << endl;
}
//Подсчитываем сумму всех элементов массива
int sum = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
sum += A[i][j];
//Вычитаем из полученной суммы повторяющиеся элементы
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
{
bool flag = false;
for (int i1 = 0; i1 < N; ++i1)
{
for (int j1 = 0; j1 < M; ++j1)
if (!(i == i1 && j == j1))
if (A[i][j] == A[i1][j1])
{
sum -= A[i][j];
flag = true;
break;
}
if (flag)
break;
}
}
cout << "Sum of different: " << sum << endl;
return 0;
}