UVA297 Quadtrees(递归!!!)

来源:互联网 发布:淘宝宝贝说明图片大小 编辑:程序博客网 时间:2024/05/07 23:38

注释以后补!!!

#include<cstdio>#include<cstring>const int len = 32;const int maxn = 1024+10;char s[maxn];int buf[len][len], cnt;void draw(const char* s, int& p, int r, int c, int w) {    char ch = s[p++];    if(ch == 'p') {            draw(s, p, r, c+w/2, w/2);            draw(s, p, r, c, w/2);            draw(s, p, r+w/2, c, w/2);            draw(s, p, r+w/2, c+w/2, w/2);    }else if(ch == 'f'){        for(int i = r; i < r+w; i++)            for(int j = c; j < c+w; j++)        if(buf[i][j] == 0) { buf[i][j] = 1; cnt++; }    }}int main(){    int T;    scanf("%d", &T);    while(T--){        memset(buf, 0, sizeof(buf));        cnt = 0;        for(int i = 0; i < 2; i++) {            scanf("%s", s);            int p  = 0;            draw(s, p, 0, 0, len);        }        printf("There are %d black pixels.\n", cnt);    }    return 0;}


0 0
原创粉丝点击