标签:des com http blog class style div img code size tar
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 10500 | Accepted: 4189 |
Description
Input
Output
Sample Input
5 2 4 3 0 4 5 0 0 0 1 0
Sample Output
1 2
Source
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <stack> 6 7 using namespace std; 8 9 const int MAX_N = 105; 10 int first[MAX_N],v[MAX_N * MAX_N],Next[MAX_N * MAX_N]; 11 int low[MAX_N],pre[MAX_N],cmp[MAX_N]; 12 int ind[MAX_N],oud[MAX_N]; 13 int N; 14 int dfs_clock,scc_cnt; 15 stack<int > S; 16 17 18 void dfs(int u) { 19 low[u] = pre[u] = ++dfs_clock; 20 S.push(u); 21 for(int e = first[u]; e != -1; e = Next[e]) { 22 if(!pre[ v[e] ]) { 23 dfs(v[e]); 24 low[ u] = min(low[u],low[ v[e] ]); 25 } else { 26 if(!cmp[ v[e] ]) { 27 low[u] = min(low[u],pre[ v[e] ]); 28 } 29 } 30 } 31 32 if(low[u] == pre[u]) { 33 ++scc_cnt; 34 for(;;) { 35 int x = S.top(); S.pop(); 36 cmp[x] = scc_cnt; 37 if(x == u) break; 38 } 39 } 40 } 41 void scc() { 42 dfs_clock = scc_cnt = 0; 43 memset(cmp,0,sizeof(cmp)); 44 memset(pre,0,sizeof(pre)); 45 46 for(int i = 1; i <= N; ++i) if(!pre[i]) dfs(i); 47 } 48 49 void add_edge(int id,int u) { 50 int e = first[u]; 51 Next[id] = e; 52 first[u] = id; 53 } 54 55 void solve() { 56 scc(); 57 for(int i = 1; i <= N; ++i) { 58 for(int e = first[i]; e != -1; e = Next[e]) { 59 if(cmp[ v[e] ] == cmp[i]) continue; 60 ind[ cmp[ v[e] ] ]++; 61 oud[ cmp[i] ]++; 62 } 63 } 64 int in = 0,ou = 0; 65 for(int i = 1; i <= scc_cnt; ++i) { 66 if(!ind[i]) in++; 67 if(!oud[i]) ou++; 68 } 69 printf("%d\n%d\n",in,scc_cnt == 1 ? 0 : max(in,ou)); 70 71 } 72 int main() 73 { 74 //freopen("sw.in","r",stdin); 75 76 scanf("%d",&N); 77 int len = 0; 78 for(int i = 1; i <= N; ++i) first[i] = -1; 79 80 for(int i = 1; i <= N; ++i) { 81 int ch; 82 scanf("%d",&ch); 83 while(ch != 0) { 84 // printf("%d ",ch); 85 86 add_edge(len,i); 87 v[len++] = ch; 88 scanf("%d",&ch); 89 } 90 //cout << endl; 91 } 92 93 solve(); 94 //cout << "Hello world!" << endl; 95 return 0; 96 }
标签:des com http blog class style div img code size tar
原文地址:http://www.cnblogs.com/hyxsolitude/p/3697259.html