使用协程和通道在二维矩阵中进行并行搜索

Go Hard 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