شما قصد دارید در جنگل نزدیک خانهتان یک خانهی درختی بسازید تا بتوانید طلوع و غروب خورشید را تماشا کنید.
از یک شرکت نقشهبرداری محلی دادههایی به دست آوردهاید که ارتفاع همهی درختان را در هر بخش مستطیلی نقشه نشان میدهد. باید هر شبکه را روی نقشه بررسی کنید تا درخت ایدهآل برای خانهی درختی خود را پیدا کنید.
بهترین درخت، بلندترین درختی است در مقایسه با همهی درختان دیگر در شرق و غرب آن، تا بهترین منظرهی ممکن از طلوع و غروب خورشید را داشته باشید. شما بالا رفتن زیاد را دوست ندارید، بنابراین درخت ایدهآل کوتاهترین درخت هم در میان همهی درختان شمال و جنوب خواهد بود.
وظیفهی شما این است که درختهای بالقوهای را پیدا کنید که بتوانید خانهی درختیتان را روی آنها بسازید.
شرکت داده، دادهها را به شکل جدولهایی ارائه میدهد که ارتفاع درختها را نشان میدهند. سطرهای جدول جهت شرق به غرب را نشان میدهند و ستونها جهت شمال به جنوب را.
درخت قابلقبول درختی است که در سطر خودش بزرگترین باشد و در ستون خودش کوچکترین.
ممکن است یک جدول هیچ درخت مناسبی نداشته باشد. یا ممکن است یک درخت داشته باشد، یا حتی چند درخت.
این جدولی است که دقیقاً یک درخت نامزد دارد.
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] (سطر: ۲، ستون: ۱) جای بسیار خوبی برای خانهی درختی است.
در Exercism ثبتنام کنید تا Delphi Pascal را همراه با 76 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.