题解:

二分图最大独立及

每两个不能选的渐变

输出n+m-最大匹配

代码:

#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=;
int ne[N*N],num,fi[N],x,T,zz[N*N],n,m,f[N],match[N],a[N],b[N],cnt1,cnt2;
char s1[N][N],s[N],s2[N][N],m1[N][N],m2[N][N];
void jb(int x,int y)
{
ne[++num]=fi[x];
fi[x]=num;
zz[num]=y;
}
int dfs(int x)
{
for (int i=fi[x];i;i=ne[i])
if (!f[zz[i]])
{
f[zz[i]]=;
if (!match[zz[i]]||dfs(match[zz[i]]))
{
match[zz[i]]=x;
return ;
}
}
return ;
}
int pd(char s1[],char s2[])
{
if (strlen(s1)!=strlen(s2))return ;
for (int i=;s1[i];i++)
if (s1[i]!=s2[i])return ;
return ;
}
int main()
{
scanf("%d",&T);
while (T--)
{
memset(match,,sizeof match);
memset(fi,,sizeof fi);
num=cnt1=cnt2=;
scanf("%d",&n);
for (int i=;i<=n;i++)
{
scanf("%d%s",&x,&s);
if (s[]=='F')
{
a[++cnt1]=x;
scanf("%s%s",&m1[cnt1],&s1[cnt1]);
}
else
{
b[++cnt2]=x;
scanf("%s%s",&m2[cnt2],s2[cnt2]);
}
}
for (int i=;i<=cnt1;i++)
for (int j=;j<=cnt2;j++)
if (abs(a[i]-b[j])<=&&pd(m1[i],m2[j])&&!pd(s1[i],s2[j]))jb(i,j);
int ans=;
for (int i=;i<=n;i++)
{
memset(f,,sizeof f);
ans+=dfs(i);
}
printf("%d\n",n+m-ans);
}
}

poj2771的更多相关文章

  1. POJ2771 Guardian of Decency

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5513   Accepted: 2319 Description Frank ...

  2. POJ2771最大独立集元素个数

    题意:       女生和男生之间只要满足四个条件中的一个,那么两个人就不会在一起!然后给出一些男生和女生,问最多多少人一起做活动彼此不会产生暧昧关系. 思路:       这样的问题还是比较裸的问法 ...

  3. HDU1068/POJ1466_Girls and Boys(二分图/最大独立集=N-最大匹配)

    解题报告 http://blog.csdn.net/juncoder/article/details/38160591 题目传送门(POJ) 题目传送门(HDU) 题意: 求满足条件的最大集合:集合内 ...

随机推荐

  1. thinkerCMS是一款thinkphp写的微型cms框架可以参考下

    http://www.thinkphp.cn/code/1764.html                       thinkphp官网thinkercms介绍 http://cms.thinke ...

  2. Python面试题之Python反射机制

    0x00 前言 def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): print('f4') a = ...

  3. Android中的颜色值

    1.在android中经常看到设置的颜色为八位的十六进制的颜色值,例如: 1 2 3 public static final class color {     public static final ...

  4. MVC 中 注册不成功 或其他操作不成功 提示办法

    在Controller中 .cs public  ActionResult AddUser(User u) { …… try { …… GetInsertUser(u);        //  注册  ...

  5. Nginx配置location跳转后偶尔出现404

    tv.xxx.com/voice请求时需跳转至:tv.xxx.com/zongyi/zt2015/haoshengyin/index.shtml 目录结构: nginx服务器配置: location ...

  6. 访问ashx一般应用程序

    浏览器中的地址栏键入要访问页面的地址:回车(是和服务器软件打交道)----向服务器发送请求(以http协议为基础,服务器按照此协议解释理解接收到的数据),服务器接收到发送的请求,根据请求信息知道当前所 ...

  7. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  8. Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】

    本文转载自:http://www.linuxdiyf.com/linux/24086.html Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用 发布时间:2016-09 ...

  9. [转载]Javassist 使用指南(三)

    ======================= 本文转载自简书,感谢原作者!. 原链接如下:https://www.jianshu.com/p/7803ffcc81c8 =============== ...

  10. java开发中的诡异事件

    1.Excel中的诡异'\r' 2.springMVC中参数莫名的不匹配 今天在使用springmvc测试一个controller方法一直访问失败,400错误,百思不得其解 先是问同事,然后一起讨论了 ...