21 / 1 / 1
Регистрация: 22.12.2013
Сообщений: 196
1

Месса. Подсчитать общее количество рукопожатий.

17.07.2014, 08:49. Показов 1675. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хорошей частью Римской католической мессы является обряд мира, когда люди обмениваются рукопожатием со своими соседями и говорят: "мир вам". Мирко нашел способ превратить этот ритуал в свою пользу.
Внутри церкви есть R рядов скамеек, в каждом ряду может сидеть не более S человек. Мы можем представить это как матрицу R х S, где каждый элемент представляет собой либо человека или пустое место. Предположим, что каждый человек пожимает руки всем своим соседям. Это означает, что соседи находятся в одном из восьми соседних элементов (если такой элемент существует):
Название: 28782.png
Просмотров: 59

Размер: 4.5 Кб
Дано расположение сидящих людей внутри церкви в момент, когда Мирко входит. Мирко, конечно, опоздал на утреннюю мессу и может выбрать такое свободное место, чтобы пожать руку как можно большему числу людей. Если свободных мест не осталось, Мирко просто откажется от этой идеи и придет на вечернюю мессу вместо этого. Предположим, что никто не входит в церковь после Мирко.
Рассчитайте общее количество рукопожатий данных в течение утренней мессы.
Первая строка входного файла содержит натуральные числа R и S (1 ≤ R, S ≤ 50), как указано в тексте.
Каждая из следующих строк R содержит S символов. Эти R х S символы представляют расположение людей на скамейках. Символ '.' (точка) представляет собой пустое место, символ 'o' (строчная латинская буква о) представляет собой человека.
Первая и единственная строка вывода должна содержать общее количество рукопожатий.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2014, 08:49
Ответы с готовыми решениями:

Подсчитать общее количество цифр и количество единиц в строке
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество...

Подсчитать общее количество полученных результатов
Есть задача: "Написать программу, которая выводит на экран все "счастливые" номера трамвайных...

Подсчитать общее количество «счастливых» билетов
Подсчитать общее количество «счастливых» билетов. Билет имеет шестизначный номер и является...

Подсчитать общее количество букв в заданном тексте
в заданном тексте подсчитайте общее кол-во букв "х" и "у" помогите пожалуйста(

3
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
17.07.2014, 09:26 2
Neotwalker, ну если я все посчитал правильно, то будет как то так. Не отрицаю, что можно и проще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
 
using namespace std;
 
int getHello(int **a, int n, int m, int i, int j)
{
    int summ = 0;
    if (i < n-1)
    {
        if (j > 0 && a[i+1][j-1] != 0) summ++;
        if (a[i+1][j] != 0) summ++;
        if (j < m-1 && a[i+1][j+1] != 0) summ++;
    }
    if (j < m-1 && a[i][j+1] != 0) summ++;
    return summ;
}
 
int main()
{
    int n, m;
    cin >> n >> m;
    int **arr = new int*[n];
    for (int i = 0; i < n; i++)
        arr[i] = new int[m];
    for (int i = 0; i < n; i++)
    {
        cout << "Line " << i << endl;
        for (int j = 0; j < m; j++)
            cin >> arr[i][j];
    }
    int summ = 0;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
    {
        if (arr[i][j] != 0) summ += getHello(arr, n, m, i, j);
    }
    cout << "Result: " << summ << endl;
    return 0;
}
1
21 / 1 / 1
Регистрация: 22.12.2013
Сообщений: 196
17.07.2014, 09:41  [ТС] 3
Спасибо, но вот как вводить по примеру?
Вот пример ввода:
Пример ввода 1

2 3
..o
o..

Пример вывода 1

2
0
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
17.07.2014, 09:48 4
Neotwalker, я делал в формате 1 - человек есть, 0 - человека нет. Можно в принципе изменить тип массива arr на символьный и прописать свои символы для обозначения наличия человека
1
17.07.2014, 09:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2014, 09:48
Помогаю со студенческими работами здесь

Подсчитать общее количество строчных латинских и русских букв
Дана строка. Подсчитать общее количество содержащее в ней строчных латинских и русских букв....

Подсчитать общее количество високосных лет на заданном промежутке
3)Известны номер начального (N) и конечного (К) года на некотором промежутке времени. Подсчитать...

Требуется подсчитать общее количество праздников в определённый промежуток времени
&quot;Работа начинается в день d.m.g и длится K дней. Подсчитать, сколько праздничных дней приходится на...

Подсчитать общее количество десятичных цифр в числах от 1 до заданного значения
Вот такая вот программа, нужно ускорить, не знаю как --_(- _-)__-- #include &lt;iostream&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru