4749. Выручка театра

 

В театре n рядов по m мест в каждом. Даны две матрицы. Первая матрица содержит стоимости билетов. Вторая матрица сообщает какие билеты проданы, а какие нет (1 означает что билет продан, а 0 – нет).

Определите общую выручку от спектакля.

 

Вход. Первая строка содержит числа n и m (n, m ≤ 500). Далее задается матрица стоимостей билетов: n строк по m чисел, каждое из которых находится в промежутке от 0 до 10000. Потом задается матрица проданных билетов: n строк по m чисел.

 

Выход. Выведите общую выручку от продажи билетов.

 

Пример входа

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

3 3

1 2 3

4 5 6

7 8 9

 

1 0 1

0 1 0

1 0 1

25

 

 

РЕШЕНИЕ

двумерный массив

 

Анализ алгоритма

Прочитаем матрицу стоимостей билетов в двумерный массив с. Далее читаем матрицу проданных билетов и вычисляем сумму выручки.

 

Пример

Рассмотрим приведенный пример.

Сумма проданных билетов равна 1 + 3 + 5 + 7 + 9 = 25.

 

Реализация алгоритма

Объявим матрицу стоимостей билетов.

 

#define MAX 501

int c[MAX][MAX];

 

Читаем размеры и саму матрицу стоимостей билетов.

 

scanf("%d %d",&n,&m);

for(i = 0; i < n; i++)

for(j = 0; j < m; j++)

  scanf("%d",&c[i][j]);

 

Читаем матрицу проданных билетов. Если билет продан (элемент матрицы равен 1) то к ответу res прибавляем стоимость билета c[i][j].

 

res = 0;

for(i = 0; i < n; i++)

for(j = 0; j < m; j++)

{

  scanf("%d",&s);

  if (s == 1) res += c[i][j];

}

 

Выводим стоимость проданных билетов.

 

printf("%d\n",res);

 

Java реализация

 

import java.util.*;

//import java.io.*;

 

public class Main

{

  //public static void main(String[] args) throws IOException

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);   

    //Scanner con = new Scanner(new FileReader ("4749.in"));

    int i, j, n = con.nextInt(), m = con.nextInt();

    int c[][] = new int[n][m];   

    for(i = 0; i < n; i++)

    for(j = 0; j < m; j++)

      c[i][j] = con.nextInt();

   

    int res = 0;

    for(i = 0; i < n; i++)

    for(j = 0; j < m; j++)

    {

      int s = con.nextInt();

      if (s == 1) res += c[i][j];

    }   

    System.out.println(res);

    con.close();

  }

}