<div> <p>ابحث بالتوازي في مصفوفة ثنائية الأبعاد باستخدام الغوروتينات والقنوات</p> </div>
Go
Hard
goroutines
مهمة «<div> <p>ابحث بالتوازي في مصفوفة ثنائية الأبعاد باستخدام الغوروتينات والقنوات</p> </div>»
<div>مصفوفة مستطيلة من الأعداد الصحيحة. يجب تنفيذ خوارزمية متوازية للبحث عن عدد مرات ظهور رقم معين في المصفوفة. يجب أن تقوم الخوارزمية بتقسيم المصفوفة إلى N أجزاء متساوية (حسب الصفوف)، وتشغيل N غوروتين للمعالجة المتوازية لكل جزء، وجمع النتائج عبر قناة (channel) وعرض العدد الإجمالي. إذا لم يتم العثور على الرقم، يتم عرض 0. استخدم <code>sync.WaitGroup</code> لمزامنة الغوروتينات.</div>
تنسيق الإدخال
<p>السطر الأول: عددان صحيحان M و N (1 ≤ M, N ≤ 1000) — أبعاد المصفوفة. الأسطر M التالية: N من الأعداد الصحيحة — عناصر المصفوفة. السطر الأخير: عدد صحيح X — القيمة المطلوبة.</p>
تنسيق الإخراج
<div>عدد صحيح واحد — عدد مرات ظهور X في المصفوفة.</div>
أمثلة
مثال 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