zoukankan      html  css  js  c++  java
  • hdu 1507

    求能出售多少个1*2的矩形,,将原图染色,(i+j)%2==0的染白色,其余为黑色,

    求白色跟黑色的最大匹配






    #include<stdio.h>
    #include<string.h>
    int n,m,ma[105][105],mark[105][105];
    int dir[4][2]={-1,0, 0,-1, 1,0, 0,1};
    struct linky
    {
        int x;
        int y;
    }link[105][105];
    int pd(int x,int y)
    {
        if(x>=1&&x<=n&&y>=1&&y<=m)
            return 1;
        return 0;
    }
    int find(int x,int y)
    {
        int i,a,b;
        for(i=0;i<4;i++)
        {
            a=x+dir[i][0];
            b=y+dir[i][1];
            if(pd(a,b)&&ma[a][b]==0&&mark[a][b]==0)
            {
                mark[a][b]=1;
                if(link[a][b].x==0||find(link[a][b].x,link[a][b].y)==1)
                {
                    link[a][b].x=x;
                    link[a][b].y=y;
                    return 1;
                }
            }
        }
        return 0;
    }
    int main()
    {
        int i,t,x,y,sum,j,temp=0;
        while(scanf("%d%d",&n,&m),m&&n)
        {
            sum=0;
            memset(ma,0,sizeof(ma));
            memset(link,0,sizeof(link));
            scanf("%d",&t);
            for(i=1;i<=t;i++)
            {
                scanf("%d%d",&x,&y);
                 ma[x][y]=1;
            }
            for(i=1;i<=n;i++)
                for(j=1;j<=m;j++)
                {
                    if(ma[i][j]==0&&(i+j)%2==0)//(i+j)/2对原图染色,不同颜色间匹配
                    {
                        memset(mark,0,sizeof(mark));
                          sum=sum+find(i,j);
                    }
                }
                if(temp++>0)
                    printf("
    ");
            printf("%d
    ",sum);
            for(i=1;i<=n;i++)
                for(j=1;j<=m;j++)
                    if(link[i][j].x)
                        printf("(%d,%d)--(%d,%d)
    ",i,j,link[i][j].x,link[i][j].y);
        }
        return 0;
    }







  • 相关阅读:
    hdu2328 Corporate Identity
    hdu1238 Substrings
    hdu4300 Clairewd’s message
    hdu3336 Count the string
    hdu2597 Simpsons’ Hidden Talents
    poj3080 Blue Jeans
    poj2752 Seek the Name, Seek the Fame
    poj2406 Power Strings
    hust1010 The Minimum Length
    hdu1358 Period
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3211946.html
Copyright © 2011-2022 走看看