تخطط لبناء بيت على الشجرة في الغابة القريبة من منزلك حتى تشاهد شروق الشمس وغروبها.
حصلت على بيانات من شركة مسح محلية تُظهر ارتفاعات جميع الأشجار في كل قسم مستطيل من الخريطة. وتحتاج إلى تحليل كل شبكة على الخريطة للعثور على الشجرة المثالية لبيتك على الشجرة.
أفضل شجرة ستكون أطول شجرة مقارنة بجميع الأشجار الأخرى الواقعة إلى الشرق وإلى الغرب منها، حتى تحصل على أفضل إطلالة ممكنة على الشروق والغروب. وأنت لا تحب التسلق كثيرًا، لذلك ستكون الشجرة المثالية أيضًا أقصر شجرة من بين جميع الأشجار الواقعة إلى الشمال وإلى الجنوب منها.
مهمتك هي العثور على الأشجار المحتملة التي يمكنك بناء بيت الشجرة عليها.
توفّر شركة البيانات البيانات على شكل شبكات تُظهر ارتفاعات الأشجار. تمثّل صفوف الشبكة اتجاه الشرق والغرب، وتمثّل الأعمدة اتجاه الشمال والجنوب.
الشجرة المقبولة هي التي تكون الأكبر في صفها، مع أنها الأصغر في عمودها.
قد لا تحتوي الشبكة على أي شجرة جيدة على الإطلاق. أو قد تحتوي على واحدة، أو حتى على عدة أشجار.
إليك شبكة تحتوي على شجرة مرشّحة واحدة بالضبط.
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 لتتعلّم وتتقن Delphi Pascal عبر 76 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.