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;
    }







  • 相关阅读:
    beta冲刺总结-咸鱼
    咸鱼翻身beta冲刺博客集
    事后诸葛亮
    个人作业——软件产品案例分析
    Alpha冲刺博客集
    结对作业第二次
    项目需求分析(团队)
    第二次作业——个人项目实战
    软件工程实践第一次作业--准备
    beta冲刺总结
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3211946.html
Copyright © 2011-2022 走看看