사지 수

4923 단어 데이터 구조
1. 2 차원 공간 이미지 로 압축 코드 전송 문 얻 기
//     

int p[1025][1025];
int node[1025*1025];

int build(int k,int lx,int ly,int rx,int ry)
{
    if(lx==rx&&ly==ry)
        return node[k]=(1<

// 12 int mx=(lx+rx)/2,my=(ly+ry)/2; int v=0; // 。 , , v=1, , 23 // 。v==3 , 。 v|=build(k*4,lx,ly,mx,my); v|=build(k*4+1,mx+1,ly,rx,my); v|=build(k*4+2,lx,my+1,mx,ry); v|=build(k*4+3,mx+1,my+1,rx,ry); return node[k]=v; } //cout<<"123"<int u) { if(node[u]==3) { if(u>1) putchar('*'); dfs(4*u); dfs(4*u+1); dfs(4*u+2); dfs(4*u+3); } else { if(node[u]==2) putchar('1'); else putchar('0'); } }


2. 압축 코드 로 2 차원 이미지 전송 문 얻 기
//    

char g[1025][1025];
char line[10000];
int idx;

void build(int k,int lx,int ly,int rx,int ry)
{
    char type=line[idx++];
    if(type=='*')
    {
        int mx=(lx+rx)>>1,my=(ly+ry)>>1;
        build(k*4,lx,ly,mx,my);
        build(k*4+1,mx+1,ly,rx,my);
        build(k*4+2,lx,my+1,mx,ry);
        build(k*4+2,mx+1,my+1,rx,ry);
    }
    else
    {
        for(int i=ly;i<=ry;i++)
            for(int j=lx;j<=rx;j++)
                g[i][j]=type;
    }
}

좋은 웹페이지 즐겨찾기