最大匹配裸题
两题题目都一样,第一个人的牌已经放好,问第二个人怎么放自己的牌赢得最多,
如果同一列的牌比对方大,就赢一次
将第二个人的每张牌与第一个人比较,如果大于第一个人的牌,两张牌就可以建一条边,
然后就是求最大匹配了
#include<stdio.h>
#include<string.h>
#define N 60
int n,map[N][N],x[N],y[N],match[N],vis[N];
int find(int x)
{
int i;
for(i=1;i<=n;i++)
{
if(vis[i]==0&&map[x][i]==1)
{
vis[i]=1;
if(match[i]==-1||find(match[i])==1)
{
match[i]......
阅读全文