/*
Tarjan缩点之后
强联通分量建图 统计每个强联通分量的出入度
第一问就是入度为0的 强联通分量的个数
第二问 为了高效的使每个强联通分量都有出入度
要把出度为零的强联通分量连到入度为零的点上 这样得到的边数是最少的
ans2并不是桥的数目 这样不是最少.....
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 110
#define maxm 10010
using namespace std;
int n,num,g[maxn][maxn],head[maxn],sum,tot,belong[maxn];
int dfn[maxn],low[maxn],stack[maxm],top,f[maxn],ans1,ans2;
int chu[maxn],ru[maxn];
struct node
{
int u,v,pre;
}e[maxm];
struct Node
{
int c[maxn];
int size;
}ans[maxn];
int init()
{
int x=;char s;bool f=;s=getchar();
while(s<''||s>''){if(s=='-')f=;s=getchar();}
while(s>=''&&s<=''){x=x*+s-'';s=getchar();}
if(f)return -x;return x;
}
void Add(int from,int to)
{
num++;
e[num].u=from;
e[num].v=to;
e[num].pre=head[from];
head[from]=num;
}
void Tarjan(int s)
{
dfn[s]=low[s]=++tot;
stack[++top]=s;
f[s]=;
for(int i=head[s];i;i=e[i].pre)
{
if(!dfn[e[i].v])
{
Tarjan(e[i].v);
low[s]=min(low[s],low[e[i].v]);
}
else if(f[e[i].v])
low[s]=min(low[s],dfn[e[i].v]);
}
if(dfn[s]==low[s])
{
sum++;
while(s!=stack[top])
{
ans[sum].size++;
belong[stack[top]]=sum;
ans[sum].c[ans[sum].size]=stack[top];
f[stack[top]]=;
top--;
}
ans[sum].size++;
belong[stack[top]]=sum;
ans[sum].c[ans[sum].size]=stack[top];
f[stack[top]]=;
top--;
}
}
int main()
{
//freopen("schlnet.in","r",stdin);
//freopen("schlnet.out","w",stdout);
n=init();
int x;
for(int i=;i<=n;i++)
while()
{
x=init();
if(x==)break;
Add(i,x);
}
for(int i=;i<=n;i++)
if(!dfn[i])
Tarjan(i);
for(int i=;i<=n;i++)
{
for(int j=head[i];j;j=e[j].pre)
{
if(belong[i]!=belong[e[j].v])
{
if(g[belong[i]][belong[e[j].v]]==)
{
chu[belong[i]]++;
ru[belong[e[j].v]]++;
}
g[belong[i]][belong[e[j].v]]=;
}
}
}
for(int i=;i<=sum;i++)
{
if(ru[i]==)ans1++;
if(chu[i]==)ans2++;
}
if(sum==)
{
printf("1\n0\n");
return ;
}
printf("%d\n%d\n",ans1,max(ans1,ans2));
return ;
}

COGS 908 校园网的更多相关文章

  1. cogs——908. 校园网

    908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比 时间限制:1 s   内存限制:128 MB USACO/schlnet(译 by Fe ...

  2. tarjan算法+缩点--cojs 908. 校园网

    cojs 908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB USACO/schlnet(译 b ...

  3. COGS——C 908. 校园网 || 洛谷——P 2746 [USACO5.3]校园网Network of Schools

    http://www.cogs.pro/cogs/problem/problem.php?pid=908   ||  https://www.luogu.org/problem/show?pid=27 ...

  4. cogs908. 校园网

    908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB USACO/schlnet(译 by Fel ...

  5. 锐捷linux客户端常用命令(主要用来连接校园网或公司局域网)

     锐捷访问校园网,.sh脚本文件rjsu*.sh-u 用户名-P 密码-S 参数1保存密码参数0不保存密码   其实:  直接使用md5认证方式输入用户名密码并且配置好ip之后,重新打开网卡即可有一定 ...

  6. 配置VMware虚拟机用绕过校园网达到无线上网配置方法

    因为平时要用到Vmware这样的工具上虚拟机上网, 但是本人是学生狗,学生狗在学校就要面对大学毒瘤软件--锐捷,而锐捷是不允许有虚拟网卡的存在的,所以上网只能用wifi上.之前试了很久,反正是怎么开都 ...

  7. [机器学习] Ubuntu 软件源更新(校园网)以及问题总结

    最近在折腾Linux,在校园网下怎么能够很好的获取软件很是让我头疼啊~~~ 总结一下吧!!! 首先是校园网的源地址: 清华大学:https://mirrors.tuna.tsinghua.edu.cn ...

  8. 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃

    一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...

  9. 【COGS 254】【POI 2001】交通网络图

    http://www.cogs.top/cogs/problem/problem.php?pid=254 dist[i]表示能最早到达i点的时间.这样就可以用最短路模型来转移了. #include&l ...

随机推荐

  1. rpmbuild构建包时的宏定义的赋值

    rpmbuild -bb  SPECS/git.spec --define="_topdir `pwd`" rpmbuild --rebuild  SRPMS/git.src.rp ...

  2. 关于SQL server的一些知识点

    关于怎么打开xp_cmdshell的方法: exec sp_configure 'show advanced option',1reconfiguregoexec sp_configure 'xp_c ...

  3. Windows 10正式版密钥大全,Win10激活序列号KEY大全

    最新放出来的Win10密钥:NJ4MX-VQQ7Q-FP3DB-VDGHX-7XM87 MH37W-N47XK-V7XM9-C7227-GCQG9 VK7JG-NPHTM-C97JM-9MPGT-3V ...

  4. 关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol

    关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 2014-02-18 19:57 315人阅读 评论(0) 收藏 举报 1.category, ...

  5. [BZOJ 2326] [HNOI2011] 数学作业 【矩阵乘法】

    题目链接:BZOJ - 2326 题目分析 数据范围达到了 10^18 ,显然需要矩阵乘法了! 可以发现,向数字尾部添加一个数字 x 的过程就是 Num = Num * 10^k + x .其中 k ...

  6. SequoiaDB 架构指南

    1 简介 SequoiaDB(巨杉数据库)是一款分布式非关系型文档数据库,可以被用来存取海量非关系型的数据,其底层主要基于分布式,高可用,高性能与动态数据类型设计,与当前主流分布式计算框架 Hadoo ...

  7. 通用GPIO模拟串口,提供源代码,本人经过测试OK(第一版)

    --------------------------serial.h------------------------------------------ #ifndef _SERIAL_H_ #def ...

  8. Android 判断wifi和4G网络是否开启

    public boolean isWifiAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) g ...

  9. Lua开发环境配置

    Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁.轻量.可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思. Lua is a powerful, fast, lightweight, ...

  10. 转:Mysql读写分离实现的三种方式

    1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自 ...