• Stock Chase 拓扑


    题意 

    给出n个公司  m条信息 

    当某条信息构成环了  则这条信息是错误的  

    统计有多少个信息是错误的

    这题是一条一条读入  虽然分在拓扑排序类里面 但是不会用拓扑排序来做

    可以用floyd思想来做

    如果 !mp[b][a]

    那么是可行的 并在mp[a][b]连边

    枚举i 如果mp[i][a]可以行 那么mp[i][b]可以  枚举j如果mp[b][j]可行 那么mp[a][j]可行  最重要的一点!!!再连mp[i][j]!

    注意初始化  i i =1

    #include<bits/stdc++.h>
    using namespace std;
    //input by bxd
    #define rep(i,a,b) for(int i=(a);i<=(b);i++)
    #define repp(i,a,b) for(int i=(a);i>=(b);--i)
    #define RI(n) scanf("%d",&(n))
    #define RII(n,m) scanf("%d%d",&n,&m)
    #define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
    #define RS(s) scanf("%s",s);
    #define ll long long
    #define pb push_back
    #define REP(i,N)  for(int i=0;i<(N);i++)
    #define CLR(A,v)  memset(A,v,sizeof A)
    #define inf 0x3f3f3f3f
    //////////////////////////////////////
    const int N=250;
    int mp[N][N];
    int n,m;
    
    void add(int a,int b)
    {
        mp[a][b]=1;
    
        rep(i,1,n)
        {   
            if(!mp[i][a])continue;
            mp[i][b]=1;
            rep(j,1,n)
            {   
                if(!mp[b][j])continue;
                mp[a][j]=1;
                mp[i][j]=1;
            }
        }
        /* 200ms
        rep(i,1,n)
        {
            if(mp[i][a]==0)continue;
            rep(j,1,n)
            if(mp[i][a]&&mp[a][j])
                mp[i][j]=1;
        }
        rep(i,1,n)
        {
            if(mp[i][b]==0)continue;
            rep(j,1,n)
            if(mp[i][b]&&mp[b][j])
                mp[i][j]=1;
    
        }
        */
    }
    int main()
    {
        int cas=0;
        while(~RII(n,m),n||m)
        {
            CLR(mp,0);
            rep(i,1,n)
            mp[i][i]=1;
            int cnt=0;
            while(m--)
            {
                int a,b;
                RII(a,b);
                if(mp[b][a]||a==b)
                    cnt++;
                else if(mp[a][b]==0)
                    add(a,b);
            }
            printf("%d. %d
    ",++cas,cnt);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Nginx-php-mysql
    Smokeping配置调整
    Smokeping外置邮箱告警
    部署Smokeping
    Centos7部署cacti
    通过yum安装最新服务
    Cacti部署
    MySQL磁盘写入策略以及数据安全性的相关参数
    linux中一些特殊的中文文件不能删除问题
    Slave_SQL_Running:No的两种解决办法
  • 原文地址:https://www.cnblogs.com/bxd123/p/10769041.html
Copyright © 2020-2023  润新知