uva 297 dfs

来源:互联网 发布:wow强者的旗帜 淘宝 编辑:程序博客网 时间:2024/06/06 17:47
#include<bits/stdc++.h>using namespace std;const int maxn = 1024;const int maxl = 32;int ans;bool buf[maxl][maxl];void draw(int x1,int y1,int x2,int y2){    char C;    cin>>C;    if(C=='p')    {        draw((x1+x2)/2,y1,x2,(y1+y2)/2);        draw(x1,y1,(x1+x2)/2,(y1+y2)/2);        draw(x1,(y1+y2)/2,(x1+x2)/2,y2);        draw((x1+x2)/2,(y1+y2)/2,x2,y2);    }    else if(C=='f')    {        for(int i=y1;i<y2;i++)            for(int j=x1;j<x2;j++)                if(buf[i][j]==0)                buf[i][j]=1,ans++;    }    else if(C=='e')        return;    else return;}int main(){    int kase;    cin>>kase;    while(kase--)    {        ans=0;        memset(buf,0,sizeof(buf));        draw(0,0,maxl,maxl);        draw(0,0,maxl,maxl);        cout<<"There are "<<ans<<" black pixels."<<endl;    }    return 0;}


0 0
原创粉丝点击