四分树,紫书P160UVa297
2017-09-17 20:48
246 查看
本题虽然是非二叉树,但考察的实质依旧是DFS递归构建树的方法。
本题终于是自己敲的码,跟刘的解题思路一模一样,但是个人感觉自己只使用了一个数组,较为精简了一点。其中本题在写dfs函数的时候参数传递比较容易出错,其他的都算比较简单。至于两个图像的累加,数组标记即可。
本题终于是自己敲的码,跟刘的解题思路一模一样,但是个人感觉自己只使用了一个数组,较为精简了一点。其中本题在写dfs函数的时候参数传递比较容易出错,其他的都算比较简单。至于两个图像的累加,数组标记即可。
// UVa297 Quadtrees // scienceZ #include <cstdio> #include <iostream> #include <cstring> using namespace std; int arr[1024+20]; int n, sum; void dfs(int a, int n){ char t; int k = n - a + 1; while((t=getchar())=='\n'); if(t == 'p'){ dfs(a, a+k/4-1); dfs(a+k/4, a+k/2-1); dfs(a+k/2, a+(3*k/4)-1); dfs(a+(3*k/4), a+k-1); }else if(t == 'f' )for (int i = a; i<=n; i++)if(!arr[i]){ arr[i] = 1; sum++; } } int main() { cin >> n; while(n--){ sum = 0; memset(arr, 0, sizeof(arr)); dfs(1, 1024); dfs(1, 1024); printf("There are %d black pixels.\n", sum); } return 0; }
相关文章推荐
- 例题6-11 UVa297 Quadtrees(四分树)
- Uva-297 - Quadtrees(四分树与结构体指针)
- 例题6-11 四分树(Quadtrees, UVa 297)
- 例题 6-11 四分树 UVa 297
- UVA 297(p160)----Quadtress
- Quadtrees UVA 297 四分树
- UVa 297 Quadtrees(四分树)
- uva 297 Quadtrees 四分树
- 例题:四分树(UVa 297)
- UVA - 297Quadtrees(四分图)
- UVa 297 (四分树 递归) Quadtrees
- UVa 297 Quadtrees(模拟&四分树)
- 6_11 四分树(UVa297)<四分树>
- 四分树(Uva 297)
- uva-297 四分树
- UVa297 例题6-11 四分树(Quadtrees)
- 紫书第六章-----数据结构基础(例题6-11 四分树Quadtrees UVA - 297)
- UVA-297 Quadtrees (四分树)
- UVA.297 Quadtrees (四分树 DFS)
- Uva297 Quadtrees【递归建四分树】【例题6-11】