дано два массива. для каждого элемента второго массива определите, сколько раз он встречается в первом массиве.

входные данные
первая строка входных данных содержит одно число n (1 ≤ n ≤ 105) – количество элементов в первом массиве. далее идет n целых чисел, не превосходящих по модулю 109 – элементы первого массива, далее идет количество элементов m во втором массиве и m элементов второго массива с такими же ограничениями.

выходные данные
выведите m чисел: для каждого элемента второго массива выведите, сколько раз такое значение встречается в первом массиве.

примеры
входные данные
3
1 2 1
4
0 1 2 3

выходные данные
0 2 1 0

evilziro evilziro    3   29.11.2019 20:36    280

Ответы
Petack Petack  15.01.2024 18:10
Для решения этой задачи, нам нужно прочитать входные данные, создать два массива и посчитать, сколько раз каждый элемент из второго массива встречается в первом массиве. Затем выведем полученные значения.

Вот пошаговое решение данной задачи:

1. Считываем количество элементов в первом массиве (n) с помощью функции input.

2. Считываем элементы первого массива и сохраняем их в массив.

3. Считываем количество элементов во втором массиве (m) с помощью функции input.

4. Считываем элементы второго массива и сохраняем их в массив.

5. Инициализируем словарь (dictionary) с помощью функции dict(). Ключами словаря будут элементы второго массива, а значениями - количество их повторений в первом массиве.

6. Итерируемся по всем элементам второго массива. Для каждого элемента, если этот элемент уже присутствует в словаре, увеличиваем его значение на 1. Если этого элемента нет в словаре, добавляем его со значением 1.

7. Итерируемся по всем значениям словаря и выводим их на экран.

Вот код на языке Python, реализующий данное решение:

```python
# Шаги 1 и 2
n = int(input()) # Считываем количество элементов в первом массиве
arr1 = list(map(int, input().split())) # Считываем элементы первого массива

# Шаги 3 и 4
m = int(input()) # Считываем количество элементов во втором массиве
arr2 = list(map(int, input().split())) # Считываем элементы второго массива

# Шаг 5
count_dict = dict() # Инициализируем словарь

# Шаг 6
for num in arr2:
if num in count_dict: # Если элемент уже присутствует в словаре
count_dict[num] += 1 # увеличиваем его значение на 1
else: # Если элемента нет в словаре
count_dict[num] = 1 # добавляем его со значением 1

# Шаг 7
for num in arr2:
print(count_dict[num], end=' ') # Выводим значения на экран
```

При использовании этого кода, для входных данных 3, 1 2 1, 4, 0 1 2 3, на экран будет выведено 0 2 1 0, что соответствует ожидаемому результату.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика