zoukankan      html  css  js  c++  java
  • hdu 4751

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

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

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

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<queue>
     4 #define maxn 103
     5 using namespace std;
     6 
     7 int map[maxn][maxn],n;
     8 int b[maxn];
     9 
    10 bool bfs(int a)
    11 {
    12     queue<int>q;
    13     q.push(a);
    14     while(!q.empty())
    15     {
    16         int u=q.front();
    17         q.pop();
    18         for(int i=1; i<=n; i++)
    19         {
    20             if(i==u||(map[u][i]&&map[i][u]))continue;
    21             if(b[i]==-1)
    22             {
    23                 b[i]=b[u]^1;
    24                 q.push(i);
    25             }
    26             else if(b[i]==b[u]) return 1;
    27         }
    28     }
    29     return 0;
    30 }
    31 int main()
    32 {
    33     int a;
    34     while(scanf("%d",&n)!=EOF)
    35     {
    36         memset(map,0,sizeof map);
    37         for(int i=1; i<=n; i++)
    38         {
    39             while(scanf("%d",&a)&&a)
    40                 map[i][a]=1;
    41         }
    42         memset(b,-1,sizeof b);
    43         int i;
    44         for(i=1; i<=n; i++)
    45         {
    46             if(b[i]==-1)
    47             {
    48                 b[i]=0;
    49                 if(bfs(i)) break;
    50             }
    51         }
    52         if(i==n)puts("YES");
    53         else puts("NO");
    54     }
    55     return 0;
    56 }
    View Code
  • 相关阅读:
    汇编指令lodsb和stosb、lodsd和stosd
    编码查询
    CLD汇编指令
    Win32编程
    MessageBox
    windows 数据类型
    STL总结
    解析结构化异常处理(SEH)(第二部分)
    FS[XX]
    ShellCode入门(提取ShellCode)
  • 原文地址:https://www.cnblogs.com/yours1103/p/3334639.html
Copyright © 2011-2022 走看看