题目链接:

https://cn.vjudge.net/contest/66569#problem/H

题目大意: n代表母牛的个数,m代表给定的信息的组数。每一组数包括a,b. 代表b崇拜a(突然发现可以用tarjan算法做)。然后问你最终有多少母牛的地位是确定的。

代码:

#include<iostream>

#include<string>

#include<cstring>

#include<iomanip>

#include<algorithm>

#include<map>

#include<queue>

#include<stack>

#include<cmath>

#include<vector>

#include<stdlib.h>

using namespace std;

# define maxn 100+10

# define inf 0x3f3f3f3  f

int a[maxn][maxn];

int main()

{

    ios::sync_with_stdio(false);

    int n,m;

    while(cin>>n>>m)

    {

        memset(a,0,sizeof(a));

        for(int i=1; i<=m; i++)

        {

            int u,v;

            cin>>u>>v;

            a[v][u]=1;

        }

        int ans=0;

        for(int i=1; i<=n; i++)

        {

            for(int j=1; j<=n; j++)

            {

                for(int k=1; k<=n; k++)

                {

                    if(a[j][i]&&a[i][k])//一定要注意顺序,之所以判断 j,i 和 i k 的原因就是,如果按照这个顺序,可以先将所有崇拜i的都确定好,这样的话,再往后循环,就可以把所有是a 的崇拜对象的母牛确定了。

                    {

                        a[j][k]=1;

                    }

                }

            }

        }

        for(int i=1;i<=n;i++){

        int sum=0;

        for(int j=1;j<=n;j++){

        if(i==j)continue;

        sum+=a[i][j]+a[j][i];

        }

        if(sum==n-1)ans++;

        }

        cout<<ans<<endl;

    }

    return 0;

}

闭包传递(floyed)的更多相关文章

  1. POJ 3660 Cow Contest (闭包传递)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7690   Accepted: 4288 Descr ...

  2. K - Treasure Exploration - POJ 2594(最小路径覆盖+闭包传递)

    题意:给一个有向无环图,求出来最小路径覆盖,注意一个点可能会被多条路径重复 分析:因为有可能多条路径走一个点,可又能会造成匹配的不完全,所以先进行一次闭包传递(floyd),然后再用二分匹配的方法求出 ...

  3. POJ3275:Ranking the Cows(Bitset加速floyd求闭包传递)

    Each of Farmer John's N cows (1 ≤ N ≤ 1,000) produces milk at a different positive rate, and FJ woul ...

  4. poj 2594 Treasure Exploration(最小路径覆盖+闭包传递)

    http://poj.org/problem?id=2594 Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total ...

  5. Swift使用闭包表达式

    Swift中的闭包表达式很灵活,其标准语法格式如下:{ (参数列表) ->返回值类型 in    语句组}其中,参数列表与函数中的参数列表形式一样,返回值类型类似于函数中的返回值类型,但不同的是 ...

  6. swift闭包-备

    我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型. Swift中的闭包类似于Objective-C中的代码块.J ...

  7. Gradle中的闭包

    Gradle是基于Groovy的DSL基础上的构建工具,Gradle中的闭包,其原型上实际上即Groovy中闭包.而在表现形式上,其实,Gradle更多的是以约定和基于约定基础上的配置去展现.但本质上 ...

  8. Swift5 语言指南(九) 闭包

    闭包是自包含的功能块,可以在代码中传递和使用.Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambdas. 闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用 ...

  9. hihoCoder #1870 : Jin Yong’s Wukong Ranking List-闭包传递(递归) (ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction A) 2018 ICPC 北京区域赛现场赛A

    P1 : Jin Yong’s Wukong Ranking List Time Limit:1000ms Case Time Limit:1000ms Memory Limit:512MB Desc ...

随机推荐

  1. python 模块之-os

    python  os模块 import os os.getcwd()       # python脚本所在工作目录的路径 os.chdir(r'/tmp')        # 切换目录到tmp os. ...

  2. (转)二分图匹配匈牙利算法与KM算法

    匈牙利算法转自于: https://blog.csdn.net/dark_scope/article/details/8880547 匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名 ...

  3. day11 reduce函数

    场景模拟: 序列元素在原有基础上加1 常规方法 简单但扩展性查 num1 = [1,2,3,4,5,6,7,8,9,100] res = 0 for i in num1: res += i print ...

  4. MT【48】分式连加形式下求不等式解集的区间长度

    ] 评:此题有分析的味道在里面,用到了n次多项式的韦达定理,用到了零点存在定理以及代数基本定理:n次多项式在复数域上有n个根.

  5. 【刷题】BZOJ 2069 [POI2004]ZAW

    Description 在Byte山的山脚下有一个洞穴入口. 这个洞穴由复杂的洞室经过隧道连接构成. 洞穴的入口是一条笔直通向"前面洞口"的道路. 隧道互相都不交叉(他们只在洞室相 ...

  6. 【POJ1151】Atlantis

    题目大意:给定 N 个矩形,求这些矩形的面积并. 题解:采用扫描线算法. 首先,按照矩形的横坐标排序,在纵坐标方向上维护一根扫描线被覆盖的长度,在这里采用线段树维护.统计答案时,从左到右扫描 2N 个 ...

  7. mysql5.6下载及安装(超级详细)

    经过本人的实验,验证这些东西都是OK的 博客原文地址:http://www.cnblogs.com/Percy_Lee/p/5282187.html

  8. (转)Node.js module.exports与exports

    本文转自Node.js module.exports与exports 作者: chemdemo 折腾Node.js有些日子了,下面将陆陆续续记录下使用Node.js的一些细节. 熟悉Node.js的童 ...

  9. P1450 [HAOI2008]硬币购物

    题目描述 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请问每次有多少种付款方法. di,s<=100000 ...

  10. my read travel

    s 江苏省5A级旅游景区 ▪ 无锡中视股份三国水浒景区 ( 无锡) ▪ 中山陵景区 ( 南京) ▪ 南京夫子庙 ( 南京) ▪ 周庄古镇游览区 ( 苏州) ▪ 中华恐龙园 ( 常州) ▪ 金坛市 ( ...