UVa 11683 : Laser Sculpture
UVa演習 2014/6/8 (日) 問4
問題リンク:http://uva.onlinejudge.org/external/116/11683.html
問題概要:
H*Wの長方形があり、その中に収まるような1つ以上のオブジェクトの形が与えられる
レーザーが上からその長方形を削っていくのだが、何回レーザーが発射されるか
解法:
1つ前の高さと比べて、より深くなっているのであればその差分だけ答えに加える
コード:
#include<bits/stdc++.h> #define REP(i,s,n) for(int i=s;i<n;i++) #define rep(i,n) REP(i,0,n) using namespace std; int main(){ int H,W; while( cin >> H >> W, H){ int ans = 0, len = 0, tmp; rep(i,W) { cin >> tmp; tmp = H - tmp; if( len < tmp ) ans += tmp - len; len = tmp; } cout << ans << endl; } return 0; }