以下的C語言程式碼是在讀入每個建築資訊後,用來修訂每一個點的建築高度,其中l, h, r 是讀取的輸入值。
for (i=l;i<r;i++)
if (height[i] < h)
height[i] = h;
讀完後,直接從高度current = 0開始,只要高度有變化,就列印出座標點與高度,很容易就做完了。程式碼如下:
if (height[i] != current)
{
current = height[i];
/* print a space if not the first output */
printf("%d %d", i, current);
}
要注意有 presentation error問題,因為輸出不可以隨便加空白。
p105題目連結
回ACM題庫目錄
回首頁
沒有留言:
張貼留言