情報領域演習第一:P演習

電気通信大学情報理工学域I類 (情報系)
2017年度後学期 (再履修生用)


[一覧に戻る]


課題G4

問題

直線上に様々な高さの建物が並んでいる.この直線の端の方にいる人から見ることのできる建物の数がいくつであるか知りたい.

建物は n 棟あり,どの建物の高さも整数である.i 番目の建物の高さを h[i] として,i は 0 から n-1 の間の値をとる.直線の端の方にいる人から i 番目の建物が見えるのは,i よりも小さいどの j に対しても,h[j] < h[i] が成り立つときであり,そのときしか,i 番目の建物は見えない.

建物の数 n と,n 棟の建物の高さを並べた配列 h[] に対して,直線の端の方にいる人から見える建物の数を返す関数 int num_visible_buildings(int n, int h[]) を作成せよ.それを用いて,直線の端の方にいる人から見える建物の数を出力するプログラムを作成せよ.

仕様

入力        => 出力
3
4 1 6       => 2
5
4 7 2 8 10  => 4
6
9 8 9 8 9 8 => 1

提出法

CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
> ~oa000833/enshu1p/2016/checker_g4.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.


[一覧に戻る]


[Teaching Top] [Top]
okamotoy@uec.ac.jp