範例程式碼 uva105
//uva105
#include <iostream>
#include <sstream>
#include <string>
#define MAX 10000
using namespace std;
int main() {
int l, h, r, build[MAX + 1];
stringstream intToString;
string ans;
// initialize
for(int i = 0; i <= MAX; i++)
build[i] = 0;
// get input
while(cin >> l >> h >> r) {
// mark the high value in each x-axis
for(int i = l; i < r; i++) {
if(build[i] < h)
build[i] = h;
}
}
// save the answer
if(build[0] != 0)
intToString << 0 << ' ' << build[0] << ' ';
for(int i = 1; i <= MAX; i++) {
if(build[i] != build[i - 1])
intToString << i << ' ' << build[i] << ' ';
}
// output the answer
getline(intToString, ans);
ans.erase(ans.length() - 1);
cout << ans << endl;
return 0;
}