uva-297 四分树
2017-08-04 03:18
267 查看
边处理边统计,模拟画图
#include <cstdio> #include <cstring> #include <vector> #include <queue> #include <iostream> using namespace std; const int maxn=400; #define DEBUG bool buf[32][32]; char s1[2000],s2[2000]; int ii,cnt; void draw(const char* s,int& i,int l,int u,int w){ char c=s[i++]; if(c=='p'){ draw(s,i,l+w/2,u ,w/2); draw(s,i,l ,u ,w/2); draw(s,i,l ,u+w/2,w/2); draw(s,i,l+w/2,u+w/2,w/2); } else if(c=='f'){ for(int x=l;x<l+w;x++){ for(int y=u;y<u+w;y++){ if(buf[x][y]==0) {buf[x][y]=1;cnt++;} } } } } void solve(){ scanf("%s",s1); scanf("%s",s2); int i1=0,i2=0; draw(s1,i1,0,0,32); draw(s2,i2,0,0,32); // for(int i=0;i<32;i++){ // for(int j=0;j<32;j++)printf("%d",buf[j][i]); // printf("\n"); // } } // int count(){ // int mm=0; // for(int i=0;i<32;i++){ // for(int j=0;j<32;j++)mm+=buf[j][i]; // } // return mm; // } int main(){ #ifdef DEBUG freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif // DEBUG int n; cin>>n; while(n--){ memset(buf,0,sizeof(buf)); cnt=0; solve(); // int mm=count(); printf("There are %d black pixels.\n",cnt); } #ifdef DEBUG fclose(stdin); fclose(stdout); #endif // DEBUG }
相关文章推荐
- UVa 297 Quadtrees(四分树)
- 四分树--uva297
- Quadtrees UVA 297 四分树
- UVa297 例题6-11 四分树(Quadtrees)
- UVA-297 Quadtrees (四分树)
- UVa 297 (四分树 递归) Quadtrees
- 树--四分树(UVa297)
- uva 297 四分树
- 例题6-11 UVa297 Quadtrees(四分树)
- uva 297 Quadtrees 四分树
- 例题:四分树(UVa 297)
- UVa 297 Quadtrees(模拟&四分树)
- UVa 297 四分树
- Uva-297 - Quadtrees(四分树与结构体指针)
- 四分树,紫书P160UVa297
- UVA.297 Quadtrees (四分树 DFS)
- Uva297 Quadtrees【递归建四分树】【例题6-11】
- UVA - 297Quadtrees(四分图)
- 四分树(Uva 297)
- 例题 6-11 四分树 UVa 297