⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1281.cpp

📁 杭电 acm部分代码 有兴趣的可以下载 谢谢
💻 CPP
字号:
#include<cstdio>
#include<string>
int a[101][101],b[101],c[101],s[101];
int d,r,n;
int pp(int u){
    int v;
    for(v=0;v<r;v++)
        if(s[v]==0&&a[u][v]==1){
            s[v]=1;
            if(c[v]==-1||pp(c[v])==1){
                b[u]=v;c[v]=u;
                return 1;
            }
        }
    return 0;
}
void main()
{
    int x,y,co,k=0,imp,i;
    while(scanf("%d%d%d",&d,&r,&n)==3){
        memset(a,0,sizeof(a));
        memset(b,-1,sizeof(b));
        memset(c,-1,sizeof(c));
        for(i=0;i<n;i++){
            scanf("%d%d",&x,&y);
            a[x-1][y-1]=1;
        }
        co=0;
        for(i=0;i<d;i++){
            memset(s,0,sizeof(s));
            co+=pp(i);
        }
        imp=0;
        for(i=0;i<r;i++){
            int t=c[i];
            c[i]=-1;
            a[t][i]=0;
            memset(s,0,sizeof(s));
            if(pp(t)==0){
                c[i]=t;
                imp++;
            }
            a[t][i]=1;
         }
		 k++;
         printf("Board %d have %d important blanks for %d chessmen.\n",k,imp,co);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -