time limit: 10 sec memory limit: 162 mb每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數(a,b),表示牛a認為牛b受歡迎。 這
種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭
牛被所有的牛認為是受歡迎的。
第一行兩個數n,m。 接下來m行,每行兩個數a,b,意思是a認為b是受歡迎的(給出的資訊有可能重複,即有可
能出現多個a,b)
乙個數,即有多少頭牛被所有的牛認為是受歡迎的。
3 31 2
2 12 3
100%的資料n<=10000,m<=50000
大概就是又想起tarjan了。。。。順手寫了一發,1a還是很開心的啦~~~
#includeusing namespace std;
const int maxn = 1e4 + 5;
struct lplld[maxn];
vectorpoint[maxn];
stacks;
int n, m, cnt, knt, num[maxn];
bool flag[maxn];
inline void putit()
}void tarjan(int t)
else if(ld[now].kind == 0)
} if(ld[t].low == ld[t].pre) }}
inline void workk()
} }for(int i = 1; i <= n; ++i)
if(flag[i] == false)
}int main()
BZOJ1051 HAOI2006受歡迎的牛
請原諒我,這題實在和bzoj1093太像 了,copy過來改一改,很多沒有用,然後一起嘿嘿嘿 include include include include include include include using namespace std typedef long long ll inline...
bzoj1051 HAOI2006 受歡迎的牛
bzoj1051 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭牛被所有的牛認為是受歡迎的。第一行兩個數n,m。接下來m行,每行兩個數a,...
bzoj1051 HAOI2006 受歡迎的牛
每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭牛被所有的牛認為是受歡迎的。第一行兩個數n,m。接下來m行,每行兩個數a,b,意思是a認為b...