洛谷 2341 HAOI2006 受歡迎的牛

2021-09-24 14:54:12 字數 1262 閱讀 7876

輸入輸出樣例

輸入樣例#1:

3 31 2

2 12 3

輸出樣例#1:

1

說明

只有 3 號奶牛可以做明星

【資料範圍】

10%的資料n<=20, m<=50

30%的資料n<=1000,m<=20000

70%的資料n<=5000,m<=50000

100%的資料n<=10000,m<=50000

解釋:強聯通分量縮點,裸題。最後直接統計出度為0的節點裡面有多少個原始節點個數就好了,同時如果有兩個或以上的節點出度為0,0則答案為0

#include#include#include#include#includeusing namespace std;

const int maxn = 20005, maxm = 50005;

int index,pd[maxn],dfn[maxn],low[maxn];

int tot=0,color[maxn];

int edge,fir[maxn],next[maxm],to[maxm];

int sta[maxn],top; //手寫棧

int n,m,val[maxn],x[maxm],y[maxm],ans;

void add(int x,int y)

void tarjan(int x)

else if(pd[v])

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

}}int main()

for(int i=1;i<=n;i++) if(!dfn[i]) tarjan(i);

memset(fir,0,sizeof(fir));

memset(next,0,sizeof(next));

memset(to,0,sizeof(to));

memset(val,0,sizeof(val));

edge=0;

for(int i=1;i<=m;i++)

}int root=0,num=0;

for(int i=1;i<=tot;i++)

}if(num>1) printf("0\n");

else

}printf("%d\n",ans);

}return 0;

}

洛谷 2341 HAOI2006 受歡迎的牛

題目描述 輸入輸出格式 輸入格式 第一行 兩個用空格分開的整數 n和m 第二行到第m 1行 每行兩個用空格分開的整數 a和b,表示a喜歡b 輸出格式 第一行 單獨乙個整數,表示明星奶牛的數量 輸入輸出樣例 輸入樣例 1 3 3 1 2 2 1 2 3 輸出樣例 1 1 說明 只有 3 號奶牛可以做明...

HAOI 2006 受歡迎的牛 (洛谷2341)

題目描述 每頭奶牛都夢想成為牛棚裡的明星。被所有奶牛喜歡的奶牛就是一頭明星奶牛。所有奶 歡b,b喜歡c,那麼a也喜歡c。牛欄裡共有n 頭奶牛,給定一些奶牛之間的愛慕關係,請你 算出有多少頭奶牛可以當明星。輸入輸出格式 輸入格式 第一行 兩個用空格分開的整數 n和m 第二行到第m 1行 每行兩個用空格...

HAOI 2006 受歡迎的牛 (洛谷2341)

題目描述 每頭奶牛都夢想成為牛棚裡的明星。被所有奶牛喜歡的奶牛就是一頭明星奶牛。所有奶 歡b,b喜歡c,那麼a也喜歡c。牛欄裡共有n 頭奶牛,給定一些奶牛之間的愛慕關係,請你 算出有多少頭奶牛可以當明星。輸入輸出格式 輸入格式 第一行 兩個用空格分開的整數 n和m 第二行到第m 1行 每行兩個用空格...