Параллельный поиск в двумерной матрице с использованием горутин и каналов
Go
Сложный
goroutines
Задача «Параллельный поиск в двумерной матрице с использованием горутин и каналов»
Дана прямоугольная матрица целых чисел. Необходимо реализовать параллельный алгоритм поиска количества вхождений заданного числа в матрице. Алгоритм должен разделить матрицу на N равных частей (по строкам), запустить N горутин для параллельной обработки каждой части, собрать результаты через канал и вывести общее количество. Если число не найдено, вывести 0. Используйте sync.WaitGroup для синхронизации горутин.
Формат ввода
Первая строка: два целых числа M и N (1 ≤ M, N ≤ 1000) — размеры матрицы. Следующие M строк: N целых чисел — элементы матрицы. Последняя строка: целое число X — искомое значение.
Формат вывода
Одно целое число — количество вхождений X в матрице.
Примеры
Пример 1
ВВОД
3 3
1 2 3
4 5 6
7 8 9
5
ВЫВОД
1
Пример 2
ВВОД
2 4
1 2 3 4
2 3 4 5
10
ВЫВОД
0
Пример 3
ВВОД
0
2
next
next
reset
next
next
ВЫВОД
0
2
0
2
Пример 4
ВВОД
3
2 3 4
ВЫВОД
12
main.go