تخطط لبناء بيت شجرة في الغابة القريبة من منزلك، حتى تتمكن من مشاهدة شروق الشمس وغروبها.
لقد حصلت على بيانات من شركة مسح محلية تُظهر ارتفاع كل شجرة في كل قسم مستطيل من الخريطة. وتحتاج إلى تحليل كل شبكة على الخريطة للعثور على أشجار جيدة لبيت الشجرة خاصتك.
الشجرة الجيدة تحقق الأمرين معًا:
مهمتك هي العثور على الأشجار المحتملة التي يمكنك أن تبني عليها بيت شجرتك.
توفّر شركة البيانات بياناتها على هيئة شبكات تُظهر ارتفاعات الأشجار. تمثّل صفوف الشبكة اتجاه الشرق والغرب، وتمثّل الأعمدة اتجاه الشمال والجنوب.
الشجرة المقبولة هي الأكبر في صفها، مع كونها الأصغر في عمودها.
قد لا تحتوي الشبكة على أي أشجار جيدة على الإطلاق. أو قد تحتوي على شجرة واحدة، أو حتى عدة أشجار.
إليك شبكة تحتوي على شجرة مرشّحة واحدة بالضبط.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
إذن النقطة عند [2, 1] (الصف: 2، العمود: 1) موقع رائع لبناء بيت شجرة.
سيكون الإدخال على هيئة سلسلة نصية. ولتُبقي هذا التمرين في متناول المبتدئين، لا يلزمك توقّع أعداد من عدة خانات.
تُحجز البايتات 64-191 من الذاكرة الخطية للسلسلة النصية للإدخال.
يُتوقَّع الإخراج على هيئة أزواج من الصف والعمود بقيمة u8 مُدمَجة معًا مباشرة.
على سبيل المثال، إذا كانت هناك ثلاث نقاط سرج
الصف: 2، العمود: 1 الصف: 2، العمود: 2 الصف: 2، العمود: 3
فيكون الإخراج المتوقع هو قيم u8 التالية 2, 1, 2, 2, 2, 3
سجّل في Exercism لتتعلّم وتتقن WebAssembly عبر 87 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.