題目:
分析:tarjan縮點。最後如果只有乙個出度為0的點,則答案就是這個點包含的牛數,否則為0.一開始最後統計的時候寫了dfs,後來發現是錯誤的,反例:
**:
#include
#include
#include
#include
#include
using
namespace
std;
const
int tmax=10005;
int n,m,dfn[tmax],low[tmax],last,cnt,belong[tmax],num[tmax],d[tmax],out[tmax];
bool in[tmax];
vector
g[tmax],gg[tmax];
stack
st;void tarjan(int x)
else
if(in[to]) low[x]=min(low[x],dfn[to]);
}if(dfn[x]==low[x])
while(to!=x);
}return;
}void init()
}return;
}int main()
for(i=1;i<=n;i++)
if(dfn[i]==0) tarjan(i);
init();
u=0;
for(i=1;i<=cnt;i++)
if(out[i]==0)
u=i;
} printf("%d",num[u]);
return
0;}
HAOI2006 受歡迎的牛
這個就是強連通,計算出度為0的點就好 也沒森麼其它好講的啦 提交傳送們 description 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多...
HAOI2006 受歡迎的牛
haoi2006 受歡迎的牛 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛 a 認為牛 b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭牛被所有的牛認為是受歡迎的。第1行兩個整數n,m 接下來...
HAOI2006 受歡迎的牛
1051 haoi2006 受歡迎的牛time limit 10 sec memory limit 162 mb submit 7267 solved 3868 submit status discuss 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受...