UVA 297-Quadtrees
2016-08-09 16:41
316 查看
UVA 297-Quadtrees
题目大意:图中一个正方形一共可以看成1024个小正方形,按照图例编区域,给俩个字符串,遇p表示分四块,遇e表示不处理,遇f表示全部涂黑,求经过俩个字符串操作后最后有多少个黑的小正方形解题思路:按照题意递归分割涂黑即可
#include <iostream> #include <string> #include <sstream> #include <stdio.h> using namespace std; void read(int x, int y, char *m) { char c = getchar(); if(c == 'p') { read(x, x+(y-x+1)/4-1, m); read(x+(y-x+1)/4, x+(y-x+1)/2-1, m); read(x+(y-x+1)/2, x+3*(y-x+1)/4-1, m); read(x+3*(y-x+1)/4, y, m); } else if(c == 'f') for(int i = x; i <= y; i++) { m[i] = 'f'; } } int count(char *a, char *b) { int s = 0; for(int i = 1; i <= 1024; i++) { if(a[i] == 'f' || b[i] == 'f') s++; } return s; } int main() { int n; cin >> n; while(n--) { char a[1025] = {'e'}, b[1025] = {'e'}; getchar(); read(1, 1024, a); getchar(); read(1, 1024, b); int m = count(a, b); printf("There are %d black pixels.\n", m); } return 0; }
相关文章推荐
- uva 297 Quadtrees
- uva 297 Quadtrees
- Uva 297 - Quadtrees
- uva 297 Quadtrees
- uva-297 Quadtrees
- Quadtrees UVA297
- uva_297_Quadtrees
- UVA - 297 Quadtrees
- uva_297-Quadtrees
- UVa 297 - Quadtrees
- UVA - 297 Quadtrees
- UVA - 297 Quadtrees
- uva 297 Quadtrees
- UVA - 297 Quadtrees
- Uva 297 - Quadtrees
- 【例题 6-11 UVA-297】Quadtrees
- UVA 297 Quadtrees
- uva 297 - Quadtrees
- UVa 297 - Quadtrees
- UVA - 297 Quadtrees