青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

ArcTan

dfs
隨筆 - 16, 文章 - 117, 評論 - 6, 引用 - 0
數(shù)據(jù)加載中……

POJ 2762-Tarjan + 拓撲排序

題意:給定無向圖,判斷是否任何兩點(x,y),可以從x到y(tǒng)或者從y到x.
         The son can either go from x to y, or from y to x.

思路:Tarjan縮點后,充要條件是,成一條鏈。拓撲排序求判斷之。

#include<stdio.h>
#include
<string.h>
#include
<math.h>
#define maxn 1010
#define maxm 60600


struct edge{
    
int v;
    
int next;
}edges[maxm];
int last[maxn];
int edge_cnt;
void add_edge(int u,int v)
{
    edges[edge_cnt].v 
= v;
    edges[edge_cnt].next 
= last[u];
    last[u] 
= edge_cnt++;
    
return ;
}



int dfn[maxn],low[maxn];
int color[maxn];
bool instack[maxn];
int st[maxn],top;
int cnt,scnt;



int n,m;
int N;
int mat[maxn][maxn];
int topo[maxn];
int dg[maxn];
int path[maxn];


int min(int x,int y)
{
    
return x<y?x:y;
}
void tarjan(int u)
{
    dfn[u]
=low[u]=cnt++;
    st[
++top]=u;
    instack[u]
=1;
    
for (int j=last[u];j!=-1;j=edges[j].next)
    {
        
int v = edges[j].v;
        
if (dfn[v]==-1)
        {
            tarjan(v);
            low[u]
=min(low[u],low[v]);
        }
        
else if (instack[v])
            low[u]
=min(low[u],low[v]);
    }

    
if (low[u]==dfn[u])
    {
        scnt
++;
        
int x;
        
do
        {
            x
=st[top--];
            instack[x]
=0;
            color[x]
=scnt;
        }
while (x!=u);
    }
    
return ;
}
void solve()
{
    cnt 
= 0;
    scnt 
= 0;
    top 
= 0;
    memset(dfn,
-1,sizeof(dfn));  //初始這里居然錯了。
    memset(instack,
0,sizeof(instack));
    
for (int i=1;i<=n;i++)
        
if (dfn[i]==-1)
            tarjan(i);
    
return ;
}



void init()
{
    memset(last,
-1,sizeof(last));
    edge_cnt 
= 0;
    scanf(
"%d%d",&n,&m);
    
for (int i=1;i<=m;i++)
    {
        
int u,v;
        scanf(
"%d%d",&u,&v);
        add_edge(u,v);
    }
    
return ;
}
void work()
{
    solve();
    N 
= scnt;//求出的強連通數(shù)
    memset(mat,0,sizeof(mat));
    
for (int i=1;i<=n;i++)
    {
        
for (int j=last[i];j!=-1;j=edges[j].next)
        {
            
int v = edges[j].v;
            mat[color[i]][color[v]]
=1;
        }
    }

    return ;
}


bool topsort()
{
    memset(dg,
0,sizeof(dg));
    
for (int i=1;i<=N;i++)
        
for (int j=1;j<=N;j++)
            
if (i!=j)//注意自己到自己不可。當是就在這里WA了!
                dg[i] 
+= mat[j][i];
    
for (int k=1;k<=N;k++)
    {
        
int i=1;
        
while (dg[i]>0 && i<=n) i++;
        
if (i>n)
            
return 0;
        dg[i]
=-1;
        
for (int j=1;j<=N;j++)
            dg[j]
-=mat[i][j];
        path[k]
=i;
    }
    
return 1;
}
int main()
{
    
int cas;
    scanf(
"%d",&cas);
    
while (cas--)
    {
        init();
        work();
        
bool flag = 1;
        topsort();
        
for (int i=1;i<N;i++)
        {
            
if (!mat[path[i]][path[i+1]])
            {
                flag 
= 0;
                
break;
            }
        }
        
if (flag)
            puts(
"Yes");
        
else
            puts(
"No");
    }
    
return 0;
}

/*

3 3
1 2
2 3
3 1

8 11
1 2
2 3
2 5
2 6
3 5
4 3
5 2
5 4
6 7
6 8
7 6

*/


posted on 2012-10-17 17:22 wangs 閱讀(301) 評論(0)  編輯 收藏 引用 所屬分類: ACM-圖論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产高清视频| 免费成年人欧美视频| 欧美一级视频精品观看| 亚洲视频免费在线| 一本久道久久久| 亚洲影音先锋| 欧美一区激情| 麻豆av福利av久久av| 欧美成年人视频网站| 欧美黑人在线播放| 99国产精品视频免费观看一公开| 亚洲精品影院在线观看| 亚洲影视在线| 久久中文字幕一区二区三区| 欧美精品三区| 国产一区三区三区| 91久久视频| 亚洲欧美激情一区| 免费在线国产精品| 亚洲三级视频| 亚洲综合电影| 久久综合久久久久88| 欧美黄色成人网| 国产精品女主播一区二区三区| 国产日韩欧美不卡在线| 99re热精品| 久久精品99| 亚洲精选在线| 久久综合九色99| 国产精品一区二区在线| 亚洲人www| 久久阴道视频| 一区二区福利| 欧美成人69| 亚洲第一二三四五区| 亚洲一区在线观看视频| 久久青青草原一区二区| 一区二区三区国产精品| 免费不卡在线视频| 国产一区二区三区在线免费观看| 一本色道久久综合亚洲精品不卡| 久久综合99re88久久爱| 亚洲综合激情| 亚洲国产综合视频在线观看 | 久久综合五月| 亚洲午夜91| 欧美日韩国产在线观看| 国内综合精品午夜久久资源| 在线中文字幕不卡| 亚洲国产综合91精品麻豆| 久久午夜精品一区二区| 国产亚洲一区二区三区在线播放| 国产精品成av人在线视午夜片| 日韩亚洲成人av在线| 欧美成人高清| 久久另类ts人妖一区二区| 国产一区在线看| 久久国产福利| 亚洲欧美日韩一区二区| 国产乱肥老妇国产一区二| 亚洲一区久久久| av成人手机在线| 国产精品视频精品| 午夜视频一区二区| 亚洲欧美日韩国产精品| 国产欧美日韩精品丝袜高跟鞋| 亚洲专区在线| 亚洲伊人第一页| 国产亚洲人成网站在线观看| 欧美在现视频| 欧美有码在线视频| 在线精品视频一区二区三四| 麻豆av一区二区三区久久| 久久久欧美精品sm网站| 亚洲激情中文1区| 亚洲日本一区二区三区| 欧美日韩亚洲一区二区三区| 午夜亚洲性色福利视频| 欧美一区二区三区在线视频| 极品少妇一区二区| 亚洲三级视频在线观看| 国产精品福利在线观看| 欧美一级视频| 日韩视频一区二区三区| 国产精品午夜在线| 另类人畜视频在线| 欧美国产成人精品| 亚洲欧美bt| 欧美一区二区三区喷汁尤物| 1000部精品久久久久久久久| 亚洲美女在线看| 国精产品99永久一区一区| 免费成人小视频| 欧美午夜免费影院| 久久久噜噜噜久久中文字幕色伊伊| 久久亚洲精品一区二区| 亚洲综合三区| 久久久久久久97| 亚洲小说欧美另类社区| 久久久不卡网国产精品一区| 亚洲免费观看| 亚欧美中日韩视频| 亚洲天堂久久| 久久在线视频在线| 国产精品wwwwww| 久久综合精品国产一区二区三区| 欧美不卡激情三级在线观看| 先锋影音久久| 欧美精品97| 久久午夜电影| 国产精品老牛| 亚洲人被黑人高潮完整版| 国产女主播一区| 日韩视频在线观看国产| 激情欧美日韩| 亚洲永久免费av| 在线中文字幕一区| 欧美777四色影视在线| 欧美综合77777色婷婷| 欧美日韩国产天堂| 免费在线观看精品| 国产一区清纯| 欧美在线播放高清精品| 在线一区免费观看| 欧美风情在线观看| 欧美国产免费| 国内自拍一区| 欧美影院成年免费版| 亚洲欧美日韩久久精品| 欧美剧在线免费观看网站| 99精品欧美一区二区三区综合在线 | 最新亚洲电影| 久久天堂精品| 久久一区国产| 在线观看亚洲一区| 久久国产精品久久久久久久久久| 亚洲欧美中日韩| 国产精品久久久久久模特 | 亚洲欧洲在线观看| 免播放器亚洲| 亚洲大胆人体视频| 影音先锋久久资源网| 久久久999成人| 久久亚洲精选| 在线观看欧美日韩| 欧美成人精品不卡视频在线观看| 欧美福利精品| 夜夜狂射影院欧美极品| 欧美日韩伦理在线免费| 夜夜夜久久久| 欧美一区二区三区在线观看| 国产精品美腿一区在线看| 亚洲一卡久久| 久久精品在线视频| 亚洲国产精品女人久久久| 麻豆精品精华液| 亚洲三级电影全部在线观看高清| 一区二区三区四区五区视频| 国产精品萝li| 久久精品国产v日韩v亚洲| 欧美国产先锋| 亚洲视频免费观看| 国产日韩专区| 欧美成人激情视频| 一区二区三区精品国产| 久久国产日韩欧美| 亚洲国产中文字幕在线观看| 欧美日韩国产区一| 亚洲欧美日韩中文视频| 亚洲激情婷婷| 国产精品成人一区| 欧美一二三视频| 欧美高清视频在线| 午夜国产欧美理论在线播放 | 国产精品久久久久久久久久免费看| 亚洲网站在线播放| 麻豆国产精品777777在线| 一区二区三区四区精品| 国产在线欧美日韩| 欧美日本久久| 久久久国产精品一区二区中文 | 久久久精品五月天| 亚洲巨乳在线| 玖玖综合伊人| 亚洲摸下面视频| 亚洲人成在线播放| 国产一区二区日韩| 欧美日韩国产另类不卡| 久久九九精品99国产精品| 日韩视频―中文字幕| 久久综合图片| 欧美在线啊v一区| 一区二区三区日韩在线观看| 狠狠色伊人亚洲综合网站色| 欧美视频网站| 欧美成人精品不卡视频在线观看| 亚洲欧美综合国产精品一区| 一个色综合av| 亚洲黄色性网站| 欧美成人伊人久久综合网|