قصد دارید در جنگل نزدیک خانهتان یک خانهی درختی بسازید تا بتوانید طلوع و غروب خورشید را تماشا کنید.
از یک شرکت نقشهبرداری محلی دادههایی به دست آوردهاید که ارتفاع هر درخت را در هر بخش مستطیلی نقشه نشان میدهند. باید هر شبکه روی نقشه را تحلیل کنید تا درختهای مناسب برای خانهی درختی خود را پیدا کنید.
درخت مناسب هر دو ویژگی زیر را دارد:
وظیفهی شما این است که درختهای بالقوهای را پیدا کنید که بتوانید خانهی درختی خود را روی آنها بسازید.
شرکت دادهها، دادهها را به شکل جدولهایی ارائه میدهد که ارتفاع درختها را نشان میدهند. سطرهای جدول جهت شرق-غرب و ستونهای آن جهت شمال-جنوب را نشان میدهند.
یک درخت قابلقبول، بزرگترین درخت در سطر خود و در عین حال کوچکترین درخت در ستون خود است.
ممکن است جدولی اصلاً هیچ درخت مناسبی نداشته باشد. یا ممکن است یکی داشته باشد، یا حتی چندین درخت.
این جدولی است که دقیقاً یک درخت نامزد دارد.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
پس نقطهی [2, 1] (سطر: ۲، ستون: ۱) جای بسیار خوبی برای خانهی درختی است.
نقاط زینی میتوانند به هر ترتیبی برگردانده شوند.
برای این تمرین، باید با استفاده از تاپلها مجموعهای از عاملها را بسازید. برای اطلاعات بیشتر دربارهی تاپلها، به تاپلها مراجعه کنید.
در Exercism ثبتنام کنید تا Visual Basic را همراه با 113 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.