题意:给定一些房子的左高右,求出各个房子高度变化的转折点
思路:直接暴力,记录下每个点的最大高度,然后for一遍输出即可。
代码:
#include#include const int N = 10005; int l, h, r; int vis[N]; int main() { while (~scanf(%d%d%d, &l, &h, &r)) { for (int i = l; i < r; i++) { if (vis[i] < h) vis[i] = h; } } int bo = 0; for (int i = 1; i <= 10000; i++) { if (vis[i] == vis[i - 1]) continue; if (bo++) printf( ); printf(%d %d, i, vis[i]); } printf( ); return 0; }