#include<bits/stdc++.h>
using namespace std;
#define mxn 510
struct E{
int from,to;
};
int dfn[mxn],iscut[mxn],bccno[mxn];
int step,bcc_cnt;
vector<int> v[mxn],bcc[mxn];
stack<E> s;
int dfs(int u,int fa){
int lowu=dfn[u]=++step;
int child=0;
for(int i=0;i<v[u].size();i++){
int to=v[u][i];
E e=(E){u,to};
if(!dfn[to]){
s.push(e);child++;
int lowv=dfs(to,u);
lowu=min(lowu,lowv);
if(lowv>=dfn[u]){
iscut[u]=1;
++bcc_cnt;
bcc[bcc_cnt].clear();
while(1){
E x=s.top();s.pop();
if(bccno[x.from]!=bcc_cnt){
bcc[bcc_cnt].push_back(x.from);
bccno[x.from]=bcc_cnt;
}
if(bccno[x.to]!=bcc_cnt){
bcc[bcc_cnt].push_back(x.to);
bccno[x.to]=bcc_cnt;
}
if(x.from==u&&x.to==to)break;
}
}
}
else if(dfn[to]<dfn[u]&&to!=fa)lowu=min(lowu,dfn[to]),s.push(e);
}
if(fa<0&&child==1)iscut[u]=0;
return lowu;
}
void init(){
memset(bccno,0,sizeof(bccno));
memset(dfn,0,sizeof(dfn));
memset(iscut,0,sizeof(iscut));
for(int i=1;i<mxn;i++)
v[i].clear();
step=bcc_cnt=0;
}
void bcc_do(int t){
for(int i=1;i<=t;i++)
if(!dfn[i])dfs(i,-1);
}
int main(){
int n,k=0;
while(scanf("%d",&n)&&n){
init();int t=0;k++;
while(n--){
int a,b;
scanf("%d%d",&a,&b);
t=max(t,a);t=max(t,b);
v[a].push_back(b);
v[b].push_back(a);
}
bcc_do(t);
long long ans1=0,ans2=1;
for(int i=1;i<=bcc_cnt;i++){
int c=0;
for(int j=0;j<bcc[i].size();j++)
if(iscut[bcc[i][j]])c++;
if(c==1){
ans1++;
ans2*=bcc[i].size()-1;
}
}
if(bcc_cnt==1){
ans1=2;ans2=bcc[1].size()*(bcc[1].size()-1)/2;
}
printf("Case %d: %lld %lld\n",k,ans1,ans2);
}
}

bcc的更多相关文章

  1. [Outlook] outlook如何实现自动CC和BCC邮件发送

    由于需要在不同机器上发送邮件,最终发送的邮件会在不同的机器上,最终导致邮件丢失,以后想找也找不回来,故在网上搜索一翻,找到解决办法. 1. 实现自动CC邮件发送: 方法:使用outlook的配置规则 ...

  2. bzoj 2959 长跑(LCT+BCC+并查集)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2959 [题意] n个点,提供操作:连边,修改点权,查询自定义边的方向后起点a终点b能经 ...

  3. poj 2117 Electricity【点双连通求删除点后最多的bcc数】

    Electricity Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4727   Accepted: 1561 Descr ...

  4. poj 1523 SPF【点双连通求去掉割点后bcc个数】

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7246   Accepted: 3302 Description C ...

  5. 【UVA10765】Doves and bombs (BCC求割点后联通块数量)

    题目: 题意: 给了一个联通无向图,现在问去掉某个点,会让图变成几个联通块? 输出的按分出的从多到小,若相等,输出标号从小到大.输出M个. 分析: BCC求割点后联通块数量,Tarjan算法. 联通块 ...

  6. UVAlive3523 Knights of the Round Table(bcc)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18122 [思路] 点-双连通分量 求出bcc,判断每个bcc是否为 ...

  7. 【HDU 4738 Caocao's Bridges】BCC 找桥

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题意:给定一个n个节点m条边的无向图(可能不连通.有重边),每条边有一个权值.判断其连通性,若双 ...

  8. 【HDU 4612 Warm up】BCC 树的直径

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4612 题意:一个包含n个节点m条边的无向连通图(无自环,可能有重边).求添加一条边后最少剩余的桥的数 ...

  9. 百度云bcc建站

    一.购买百度云服务 1.百度云bcc购买网页http://bce.baidu.com/product/bcc.html 2.买完后管理:http://console.bce.baidu.com/bcc ...

  10. 百度云BCC配置Apache VirtualHost 实现相同域名不同端口访问不同应用

    问题描述:前戏:本人在百度云上购买了BCC虚拟服务,并购买域名,部署应用,可以正常访问(这里一切都很正常^_^). 事情正在起变化:随着开发的不断推进,工程在本地测试成功后,部署到服务器,会发现有些页 ...

随机推荐

  1. QP之QF原理

    1.QP简介: 量子平台(Quantum Platform, 简称QP)是一个用于实时嵌入式系统的软件框架,QP是轻量级的.开源的.基于层次式状态机的.事件驱动的平台. QP包括事件处理器(QEP). ...

  2. 基于OMAPL:Linux3.3内核的编译

    基于OMAPL:Linux3.3内核的编译 OMAPL对应3个版本的linux源代码,分别是:Linux-3.3.Linux-2.6.37.Linux2.6.33,这里的差距在于Linux2,缺少SY ...

  3. python-映射·字典

    1.创建字典:字典由键值对组成,每个键值对就是字典的一个元素,键值对之间用分号(:)隔开,元素之间用逗号(,)隔开.字典中的键必须是唯一 且不可变得(不可以是列表或者字典).字典中的元素是无序的. d ...

  4. python读取大文件和普通文件

    读取文件,最常见的方式是: with open('filename', 'r', encoding = 'utf-8') as f: for line in f.readlines(): do_som ...

  5. echarts实用小技巧,控制字符串长度,限定整数等

    限定横坐标文本字符长度 xAxis : [ axisLabel:{ formatter: function (value) { var maxlength=6; if (value.length> ...

  6. 单调队列优化dp

    洛谷p3800(单调队列优化DP) 题目背景 据说在红雾异变时,博丽灵梦单身前往红魔馆,用十分强硬的手段将事件解决了. 然而当时灵梦在Power达到MAX之前,不具有“上线收点”的能力,所以她想要知道 ...

  7. ORB-SLAM (四)tracking单目初始化

    单目初始化以及通过三角化恢复出地图点 单目的初始化有专门的初始化器,只有连续的两帧特征点均>100个才能够成功构建初始化器. ); 若成功获取满足特征点匹配条件的连续两帧,并行计算分解基础矩阵和 ...

  8. Java之枚举笔记(Enum)

    package com.simope.ljm; public class MyEnum { public static void main(String[] args) { System.out.pr ...

  9. CWindowWnd类源码分析

    CWindowWnd代码在UIBase.h和UIBase.cpp文件里.主要实现的是一个基本窗口的创建与消息处理. 相关代码: 头文件: class UILIB_API CWindowWnd { pu ...

  10. 在Linux上进行mySql安装部署及遇到的问题的解决方法

    前提: Linux centOS虚拟机64位 1.首先确认是否已安装过MySQL 方法一:删除原有的MySQL目录: 使用查找语句: whereis mysql find / -name mysql ...