您的位置:首页 > 其它

JZOJ3457. 【NOIP2013模拟联考3】沙耶的玩偶(doll) (2017.8B组)

2017-08-18 19:18 851 查看
https://jzoj.net/senior/#main/show/3457

想法:

这题用到了二分图最大匹配

http://blog.csdn.net/dark_scope/article/details/8880547

一道比较好的题目和解释

匈牙利算法

整个图分成2边,然后(x,y)向合法的(x’,y’)连一条边,做一次最大匹配,答案等于空格子数-最大匹配数

bool dg(int x,int y)
{
bool bz1=true;
int i,xx,yy,sum;
for (i=1;i<=4;i++)
{
xx=x+fx[i][1];
yy=y+fx[i][2];
if ((xx>0)&&(xx<=n)&&(yy>0)&&(yy<=m))
{
if ((bz[xx][yy]==false)&&(bz2[xx][yy]))
{
bz2[xx][yy]=false;
if ((qq[xx][yy][1]==0)||(dg(qq[xx][yy][1],qq[xx][yy][2])))
{
qq[xx][yy][1]=x;
qq[xx][yy][2]=y;
return true;
}

}
}
}
return false;
}


for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
{
if (bz[i][j]==false)
{
memset(bz2,true,sizeof(bz2));
if (dg(i,j)) ans--;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: