本文主要是介绍UVA 105 - The Skyline Problem(暴力枚举),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=41&mosmsg=Submission+received+with+ID+13257619
题意:给定一些房子的左高右,求出各个房子高度变化的转折点
思路:直接暴力,记录下每个点的最大高度,然后for一遍输出即可。
代码:
#include <stdio.h>
#include <string.h>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("\n");return 0;
}
这篇关于UVA 105 - The Skyline Problem(暴力枚举)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!