qaq
#include
#include
#include
using
namespace
std;
int color[9999],c=0,num=0,low[9999],dfn[9999],top,f[9999],s[9999],fx[9999];
int n,m,ans;
int cnt,head[9999],net[99999],to[99999];
int flag[9999];
void add(int x,int y)
void dfs(int x)
else
if(f[tmp]==1)
} if(low[x]==dfn[x])
top--;
if(tot>1) ans++,fx[c]=1;
}}void find()
}}int main()
for(int i=1;i<=n;i++)
if(!dfn[i]) dfs(i);//跑tarjan來求強連通分量
printf("%d\n",ans);
find();//找有無被其他人全部愛的天使
int z;
ans=0;
for(int i=1;i<=c;i++)
if(flag[i]==0) z=i,ans++;//找符合條件的強連通分量
if(ans!=1||fx[z]==0) printf("-1");//如果有不止乙個符合條件的強連通分量,那麼就不會有乙個符合條件的天使
else
return
0;}
codevs 2822 愛在心中(強連通分量)
codevs 2822 愛在心中 題目描述 description 每個人都擁有乙個夢,即使彼此不相同,能夠與你分享,無論失敗成功都會感動。愛因為在心中,平凡而不平庸,世界就像迷宮,卻又讓我們此刻相逢our home。在愛的國度裡有n個人,在他們的心中都有著乙個愛的名單,上面記載著他所愛的人 不會出...
CODE VS 2822 愛在心中 強連通分量
題目傳送門 第二問的答案要求該強聯通分量的節點數大於1。我就是在這裡wa了好多次,以後一定要注意讀題,汗 還是第二問,在輸出每個強聯通分量中的節點編號之前記得排序。資料坑 打的比較亂,將就著看看吧 附上ac include include include include using namespac...
強連通分量 tarjan求強連通分量
雙dfs方法就是正dfs掃一遍,然後將邊反向dfs掃一遍。挑戰程式設計 上有說明。雙dfs 1 include 2 include 3 include 4 include 5 6using namespace std 7const int maxn 1e4 5 8 vector g maxn 圖的鄰...