鞍点

鞍点

中級

はじめに

自宅の近くの森に、日の出と日の入りを眺められるツリーハウスを建てる計画を立てています。

地元の測量会社から、地図の長方形の区画ごとに、そこにあるすべての木の高さを示すデータを入手しました。 地図上の各グリッドを分析して、ツリーハウスにぴったりの木を見つける必要があります。

最適な木は、東と西にあるほかのすべての木と比べて一番高い木です。そうすれば、日の出と日の入りをできるだけよく眺められます。 あまり高くまで登るのは好きではないので、理想の木は、北と南にあるすべての木の中で一番低い木でもあります。

説明

ここでの課題は、ツリーハウスを建てられそうな木を見つけることです。

データ会社は、木の高さを表すグリッドとしてデータを提供してくれます。グリッドの行は東西方向を、列は南北方向を表します。

条件を満たす木は、その行の中で最も大きく、かつその列の中で最も小さい木です。

グリッドによっては、条件を満たす木が1本もないこともあります。1本だけのこともあれば、何本もあることもあります。

次は、候補となる木がちょうど1本だけあるグリッドです。

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行目の値は5、3、1です。最も大きい値は5です。
  • 1列目の値は9、5、6です。最も小さい値は5です。

つまり、[2, 1](行2、列1)の地点は、ツリーハウスにうってつけの場所です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Delphi Pascal Exercism

鞍点を始める準備はできましたか?

Exercismに登録すれば、76個の演習、そして本物の人間によるメンタリングとともに、Delphi Pascalを学んでマスターできます。すべて無料です。