一道很简单的题,不过在比赛的时候没有写出来;

刚刚看到这个题,我以为是一个图论题,后来发现其实就是一个暴力的题;

用bfs,因为一个人与他不认识的人肯定不会在一个集合,如果判断出现冲突则分配失败,否则就成功;

代码:

 #include<cstdio>
#include<cstring>
#include<queue>
#define maxn 103
using namespace std; int map[maxn][maxn],n;
int b[maxn]; bool bfs(int a)
{
queue<int>q;
q.push(a);
while(!q.empty())
{
int u=q.front();
q.pop();
for(int i=; i<=n; i++)
{
if(i==u||(map[u][i]&&map[i][u]))continue;
if(b[i]==-)
{
b[i]=b[u]^;
q.push(i);
}
else if(b[i]==b[u]) return ;
}
}
return ;
}
int main()
{
int a;
while(scanf("%d",&n)!=EOF)
{
memset(map,,sizeof map);
for(int i=; i<=n; i++)
{
while(scanf("%d",&a)&&a)
map[i][a]=;
}
memset(b,-,sizeof b);
int i;
for(i=; i<=n; i++)
{
if(b[i]==-)
{
b[i]=;
if(bfs(i)) break;
}
}
if(i==n)puts("YES");
else puts("NO");
}
return ;
}

hdu 4751的更多相关文章

  1. uva 10004 Bicoloring(dfs二分染色,和hdu 4751代码差不多)

    Description In the ``Four Color Map Theorem" was proven with the assistance of a computer. This ...

  2. hdu 4751(dfs染色)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 思路:构建新图,对于那些两点连双向边的,忽略,然后其余的都连双向边,于是在新图中,连边的点是能不 ...

  3. HDU 4751 Divide Groups 2013 ACM/ICPC Asia Regional Nanjing Online

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 题目大意:判断一堆人能否分成两组,组内人都互相认识. 解题思路:如果两个人不是相互认识,该两人之 ...

  4. hdu 4751 2013南京赛区网络赛 二分图判断 **

    和以前做过的一个二分图颇为相似,以前的是互相不认识的放在一组,这个是互相认识的,本质上是相同的 是 hdu 2444 #include<cstdio> #include<iostre ...

  5. Hdu 4751(2-SAT)

    题目链接 Divide Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. HDU 4751 Divide Groups

    题目链接 比赛时候,建图建错了.大体算法想到了,不过很多细节都没想好. #include <cstdio> #include <cstring> #include <cm ...

  7. hdu 4751 Divide Groups(dfs染色 或 2-sat)

    Problem Description   This year is the 60th anniversary of NJUST, and to make the celebration more c ...

  8. hdu 4751 Divide Groups bfs (2013 ACM/ICPC Asia Regional Nanjing Online 1004)

    SDUST的训练赛 当时死磕这个水题3个小时,也无心去搞其他的 按照题意,转换成无向图,预处理去掉单向的边,然后判断剩下的图能否构成两个无向完全图(ps一个完全图也行或是一个完全图+一个孤点) 代码是 ...

  9. HDU 4751 Divide Groups (2013南京网络赛1004题,判断二分图)

    Divide Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

随机推荐

  1. 20 个强大的 Sublime Text 插件

    20. FTPSync 默认情况下SublimeText不具备FTP的功能,如果你正在寻找能在您的SublimeText应用程序中使用的免费和易用的FTP工具,你可以考虑FTPSync.这是一个非常简 ...

  2. 《app研发录》第一章 重构,夜未眠笔记

    1.1 重新规划android的项目结构     重新规划android的目录结构分两步: 1.建立AndroidLib类库,将与业务无关的逻辑转移到AndroidLib. acitivity存放的是 ...

  3. Activity 的生命周期与加载模式

    当Activity 处于Android 应用中运行时,它的活动状态由 Android 以 Activity 栈的形式管理.当前活动的Activity位于栈顶.随着不同应用的运行,每个Activity都 ...

  4. VC++ Bresenham画线实例

    附带百度链接:http://wenku.baidu.com/link?url=GP4uDkoyulgNxQy5djBBi-JB5BCrMWW6svMDhSfmzi_Qi1s6DhwJiCPHdMI2o ...

  5. ASP.NET MVC5总结(二)@HTML扩展

    1.@Html.AntiForgeryToken() 用来防止跨站请求伪造(CSRF)攻击的一个措施 2.@Html.ValidationSummary(true) 主要用来 (1). 显示后台 Mo ...

  6. 开发一个完整的JavaScript组件

    作为一名开发者,大家应该都知道在浏览器中存在一些内置的控件:Alert,Confirm等,但是这些控件通常根据浏览器产商的不同而形态各异,视觉效果往往达不到UI设计师的要求.更重要的是,这类内置控件的 ...

  7. angularJS的核心特性

    前几天师傅让我了解一下angularJS,angularJS是一个前端框架,具体的优缺点和运用场景我现在也还没有搞清楚,暂时就先不做描述了,留到运用以后进行补充吧. angularJS四大核心特性:M ...

  8. 02_天气查询_socket方式模拟_单线程

    [远程请求的B/S模式(客户端/服务器)] TCP: 是一种传输层协议,一种面向连接的协议.经过三次握手客户端和服务器端连接一个连接(通道).提供可靠的数据传输,该协议一般服务质量要求比较高的情况,T ...

  9. linux 下串口的配置

    串口最基本的设置包括波特率 校验位 和停止位. 主要是设置个结构体的成员值, #include <termios.h> struct termio { unsigned short c_i ...

  10. OpenCV学习目录(持续更新)

    这个暑假开始,需要用到图像处理相关的东西,于是我选择了OpenCV库,这里记录下我的整个学习过程. 参考资料: <OpenCV 2计算机视觉编程手册> 张静 译,科学出版社 1. Linu ...