<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