تخطط لبناء بيت شجرة في الغابة القريبة من منزلك، حتى تتمكن من مشاهدة شروق الشمس وغروبها.
لقد حصلت على بيانات من شركة مسح محلية تُظهر ارتفاع كل شجرة في كل قسم مستطيل من الخريطة. وتحتاج إلى تحليل كل شبكة على الخريطة للعثور على أشجار جيدة لبيت الشجرة خاصتك.
الشجرة الجيدة تحقق الأمرين معًا:
مهمتك هي إيجاد الأشجار المحتملة التي يمكنك بناء بيت الشجرة عليها.
توفّر شركة البيانات بياناتها على شكل شبكات تُظهر ارتفاعات الأشجار. تمثّل صفوف الشبكة الاتجاه من الشرق إلى الغرب، وتمثّل الأعمدة الاتجاه من الشمال إلى الجنوب.
الشجرة المقبولة هي الأكبر في صفها، وفي الوقت نفسه الأصغر في عمودها.
وقد لا تحتوي الشبكة على أي شجرة جيدة على الإطلاق. أو قد تحتوي على شجرة واحدة، أو حتى على عدة أشجار.
وهذه شبكة فيها شجرة مرشحة واحدة بالضبط.
1 2 3 4
|-----------
1 | 9 8 7 8
2 | 5 3 2 4 <--- potential tree house at row 2, column 1, for tree with height 5
3 | 6 6 7 1
إذن النقطة عند [2, 1] (الصف: 2، العمود: 1) مكان رائع لبناء بيت شجرة.
سجّل في Exercism لتتعلّم وتتقن Scala عبر 95 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.