نقاط زینی

نقاط زینی

متوسط

مقدمه

شما قصد دارید در جنگل نزدیک خانه‌تان یک خانه‌ی درختی بسازید تا بتوانید طلوع و غروب خورشید را تماشا کنید.

از یک شرکت نقشه‌برداری محلی داده‌هایی به دست آورده‌اید که ارتفاع همه‌ی درختان را در هر بخش مستطیلی نقشه نشان می‌دهد. باید هر شبکه را روی نقشه بررسی کنید تا درخت ایده‌آل برای خانه‌ی درختی خود را پیدا کنید.

بهترین درخت، بلندترین درختی است در مقایسه با همه‌ی درختان دیگر در شرق و غرب آن، تا بهترین منظره‌ی ممکن از طلوع و غروب خورشید را داشته باشید. شما بالا رفتن زیاد را دوست ندارید، بنابراین درخت ایده‌آل کوتاه‌ترین درخت هم در میان همه‌ی درختان شمال و جنوب خواهد بود.

دستورالعمل‌ها

وظیفه‌ی شما این است که درخت‌های بالقوه‌ای را پیدا کنید که بتوانید خانه‌ی درختی‌تان را روی آن‌ها بسازید.

شرکت داده، داده‌ها را به شکل جدول‌هایی ارائه می‌دهد که ارتفاع درخت‌ها را نشان می‌دهند. سطرهای جدول جهت شرق به غرب را نشان می‌دهند و ستون‌ها جهت شمال به جنوب را.

درخت قابل‌قبول درختی است که در سطر خودش بزرگ‌ترین باشد و در ستون خودش کوچک‌ترین.

ممکن است یک جدول هیچ درخت مناسبی نداشته باشد. یا ممکن است یک درخت داشته باشد، یا حتی چند درخت.

این جدولی است که دقیقاً یک درخت نامزد دارد.

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] (سطر: ۲، ستون: ۱) جای بسیار خوبی برای خانه‌ی درختی است.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Delphi Pascal Exercism

آماده‌اید نقاط زینی را شروع کنید؟

در Exercism ثبت‌نام کنید تا Delphi Pascal را همراه با 76 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.