poj1236 Network of Schools
来源:互联网 发布:keyerror python 编辑:程序博客网 时间:2024/05/15 13:10
#include <iostream>#include<cstdio>#include<algorithm>#include<vector>#include<cstring>using namespace std;int n;bool used[150];vector<int> g[150],rg[150],vs,v;void dfs(int v,vector<int>& vs){ used[v]=true; for(int i=0;i<g[v].size();i++) { int &u=g[v][i]; if(!used[u]) dfs(u,vs); } vs.push_back(v);}void rdfs(int v,vector<int> &vs){ used[v]=true; for(int i=0;i<rg[v].size();i++) { int &u=rg[v][i]; if(!used[u]) rdfs(u,vs); } vs.push_back(v);}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { int num; while(scanf("%d",&num),num) { g[i].push_back(num); rg[num].push_back(i); } } memset(used,0,sizeof(used)); for(int i=1;i<=n;i++) { if(!used[i]) dfs(i,vs); } memset(used,0,sizeof(used)); int ans1=0; for(int i=vs.size()-1;i>=0;i--) { if(!used[vs[i]]) { ans1++; dfs(vs[i],v); } } memset(used,0,sizeof(used)); int k=0; for(int i=vs.size()-1;i>=0;i--) { if(!used[vs[i]]) { rdfs(vs[i],v); k++; } } memset(used,0,sizeof(used)); int ans2=0; for(int i=v.size()-1;i>=0;i--) { if(!used[v[i]]) { ans2++; rdfs(v[i],vs); } } printf("%d\n",ans1); if(k==1) printf("0\n"); else printf("%d\n",max(ans1,ans2)); return 0;}
0 0
- poj1236 - Network of Schools
- POJ1236 Network of Schools
- poj1236 Network of Schools
- poj1236 Network of Schools
- poj1236 Network of Schools
- poj1236-Network of Schools
- POJ1236 Network of Schools
- [Poj1236]Network of Schools
- POJ1236 Network of Schools
- poj1236 Network of Schools
- 【poj1236】 Network of Schools
- poj1236 Network of Schools
- POJ1236-Network of Schools
- POJ1236 Network of Schools
- POJ1236 Network of Schools,Tarjan
- POJ1236 Network of Schools (Tarjan)
- Network of Schools --POJ1236 Tarjan
- poj1236-network of schools(强连通分量)
- UITableview 增加分组标题喝脚标
- linux下远程ssh拷贝文件
- 安装Nginx时报错 PCRE library OpenSSL library
- NAThread线程
- WSGI Webob Routes 实例
- poj1236 Network of Schools
- 关于丢失主叫丢失CONNECT信令或被叫丢失CONNECT ACK信令导致掉话及未接通
- 带有可变参数的宏
- 总结一些问题
- Android自动化测试(UiAutomator)
- java保留两位小数
- FTMD_DEMO
- P2P模式分析之资金池与第三方托管
- Centos 更换本地源,搭建openstak本地源