bzoj1051 HAOI2006 受歡迎的牛

2022-04-30 09:09:09 字數 859 閱讀 5750

題目傳送門 又是一波複習題.....

tarjan縮點後圖就不存在環了 尋找每個環的出度 如果乙個環被所有點間接或者直接指向並且這個環沒有出度那麼答案就是這個環上點的個數(當然也只能存在乙個環)

如果存在兩個點沒有出度 那麼就不存在被所有牛喜歡的牛 答案就是0了

#include#include

#include

using

namespace

std;

const

int m=50007

;int

read()

while(c>='

0'&&c<='9')

return ans*f;

}int

n,m,sum,first[m];

int color[m],out

[m],s[m],num,ans,last;

intdfn[m],low[m],cnt,st[m],top,book[m];

struct nodee[m];

void insert(int a,int b)

void dfs(int

x)

if(book[now]) low[x]=min(low[x],dfn[now]);

}if(low[x]==dfn[x])

top--;

}}int

main()

for(int i=1;i<=num;i++) if(!out

[i])

last=i;

}printf(

"%d\n

",s[last]);

return0;

}

view code

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...