10199 - Tourist Guide
来源:互联网 发布:mysql复合索引 编辑:程序博客网 时间:2024/06/06 09:37
/*
有关割点的问题
*/
#include<cstdio>
#include<cstring>#include<cstdlib>
#include<vector>
using namespace std;
char a[110][32];
int dfs_clock,pre[210],iscut[210],low[210];
vector<int>g[210];
int cmp(const void *a,const void *b)
{
return strcmp((char *)a,(char *)b);
}
int dfs(int u,int fa)
{
int lowu = pre[u] = ++dfs_clock;
int child = 0;
for(int i = 0; i<g[u].size(); i++)
{
int v = g[u][i];
if(!pre[v])
{
child++;
int lowv = dfs(v,u);
lowu = min(lowu,lowv);
if(lowv >= pre[u])
iscut[u] = 1;
}
else if(pre[v]<pre[u]&&v!=fa)
lowu = min(lowu,pre[v]);
}
if(fa<0&&child==1) iscut[u] = 0;
low[u] = lowu;
return lowu;
}
int main()
{
int n,m,count=0;
while(scanf("%d",&n)==1)
{
if(!n) break;
memset(low,0,sizeof(low));
memset(iscut,0,sizeof(iscut));
memset(pre,0,sizeof(pre));
for(int i = 0; i < 210; i++)
g[i].clear();
for(int i = 0; i < n; i++)
scanf("%s",a[i]);
qsort(a,n,sizeof(a[0]),cmp);
scanf("%d",&m);
char t1[33],t2[33];
int u,v;
for(int i = 0; i < m; i++)
{
scanf("%s %s",&t1,&t2);
for(int j = 0; j < n; j++)
{
if(!strcmp(t1,a[j]))
u = j;
if(!strcmp(t2,a[j]))
v = j;
}
g[u].push_back(v);
g[v].push_back(u);
}
for(int i = 0; i < n; i++)
{
dfs_clock=0;
if(!pre[i])
dfs(i,-1);
}
int ans = 0;
for(int i = 0; i < n; i++)
ans+=iscut[i];
if(count>0)
puts("");
printf("City map #%d: %d camera(s) found\n",++count,ans);
for(int i = 0; i < n; i++)
if(iscut[i])
puts(a[i]);
}
return 0;
}
- 10199 - Tourist Guide
- UVa Problem 10199 Tourist Guide (导游)
- 110903 The Tourist Guide
- UVA10099- The Tourist Guide
- UVa10099-The Tourist Guide
- The Tourist Guide(uva)
- 10099 The Tourist Guide
- 10099 - The Tourist Guide
- The Tourist Guide
- UVaOJ 10099 - The Tourist Guide
- uva 10099 The Tourist Guide
- UVa 10099 The Tourist Guide
- Uva 10099 - The Tourist Guide
- UVA 10099 - The Tourist Guide
- 10099 - The Tourist Guide//floyd
- UVa:10099 The Tourist Guide
- UVA - 10099 The Tourist Guide
- UVa 10099 - The Tourist Guide
- Oray向日葵远程控制
- Delphi报表组件:FastReports for Delphi XE2 Update 4
- pb多线程的实现
- Delphi开发组件:EmbeddedWebBrowser D5-XE2 FS Version 14.70.0
- List泛型用法
- 10199 - Tourist Guide
- struts2入门(1)
- 汇编中为什么将FFFFh写成0FFFFh的形式
- VSS (Visual Source Safe 2005) 用法详解
- XD01建客户销售区域数据的 部分交货和全部交货
- apache 输出过滤器
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- 利用CSS定位背景图片 background-position
- hp第八天 早上面了下 下午 套用举报 晚上wiki编辑器