码迷,mamicode.com
首页 > 其他好文 > 详细

codevs 2494 Vani和Cl2捉迷藏

时间:2016-07-01 16:03:39      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

/*
一开始大意了 以为和bzoj上的祭祀是一样的(毕竟样例都一样)
这里不知相邻的点可以相互到达 间接相连的也可以到达
所以floyed先建立一下关系 再跑最大独立集
下面贴一下95 和 100的代码
(认真读题保平安) 
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 210
#define maxm 30010
using namespace std;
int n,m,head[maxn],num,ans,match[maxn];
bool f[maxn];
struct node
{
    int u,v,pre;
}e[maxm];
void Add(int from,int to)
{
    num++;
    e[num].u=from;
    e[num].v=to;
    e[num].pre=head[from];
    head[from]=num;
}
int Dfs(int s)
{
    for(int i=head[s];i;i=e[i].pre)
      {
          int v=e[i].v;
          if(f[v]==0)
            {
                f[v]=1;
                if(match[v]==0||Dfs(match[v]))
                  {
                      match[v]=s;
                      return 1;
              }
          }
      }
    return 0;
}
int main()
{
    scanf("%d%d",&n,&m);int x,y;
    for(int i=1;i<=m;i++)
      {
          scanf("%d%d",&x,&y);
          Add(x,y);
      }
    for(int i=1;i<=n;i++)
      {
          memset(f,0,sizeof(f));
          ans+=Dfs(i);
      }
    int p=n-ans;
    printf("%d\n",p);
    return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 210
using namespace std;
int n,m,g[maxn][maxn],ans,match[maxn];
bool f[maxn];
int Dfs(int s)
{
    for(int i=1;i<=n;i++)
      if(f[i]==0&&g[s][i]==1)
        {
          f[i]=1;
          if(match[i]==0||Dfs(match[i]))
            {
              match[i]=s;
              return 1;
            }
        }
    return 0;
}
int main()
{
    scanf("%d%d",&n,&m);
    int x,y;ans=n;
    for(int i=1;i<=m;i++)
      {
          scanf("%d%d",&x,&y);
          g[x][y]=1;
      }
    for(int k=1;k<=n;k++)
      for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
          g[i][j]=g[i][j]||(g[i][k]&&g[k][j]);
    for(int i=1;i<=n;i++)
      {
          memset(f,0,sizeof(f));
          ans-=Dfs(i);
      }
    printf("%d\n",ans);
    return 0;
}

 

codevs 2494 Vani和Cl2捉迷藏

标签:

原文地址:http://www.cnblogs.com/yanlifneg/p/5633169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!