欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UVa297四分树

程序员文章站 2022-06-09 21:27:16
...

题目大意如下图:

UVa297四分树

下面附上我的代码,注意以下代码只针对一组输入数据,如果想改为多组,请读者自便:

#include <stdio.h>
#include <string.h>

int ans=0,p=0;
int content[32][32];
char string[1024+5];

void draw(int x,int y,int w){
    char color = string[p++];
    if(color == 'p'){
        draw(x,y+w/2,w/2);
        draw(x,y,w/2);
        draw(x+w/2,y,w/2);
        draw(x+w/2,y+w/2,w/2);
    }else if(color == 'f'){
        int i,j;
        for(i=y;i<y+w;i++)
            for(j=x;j<x+w;j++)
                if(content[i][j] == 0){
                    content[i][j] = 1;
                    ans++;
                }
    }
}

int main(){
    int n = 2;
    memset(content,0, sizeof(content));
    while(n--){
        p = 0;
        scanf("%s",string);
        draw(0,0,32);
    }
    printf("%d\n",ans);
    return 0;
}