hdu 1878 欧拉回路

来源:互联网 发布:java oa 工作流 编辑:程序博客网 时间:2024/05/20 01:36
#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;int n,m,g[1024][1024],vis[1024][1024],use[1024],in[1024];bool f;void dfs(int u){    if(use[u]==0) use[u]=1;    for(int v=1;v<=n;v++)    {        if(g[u][v]&&!vis[u][v])        {            vis[u][v]=vis[v][u]=1;            dfs(v);        }    }}int main(){    int i,u,v;    while(~scanf("%d",&n))    {        if(n==0) break;        scanf("%d\n",&m);        memset(g,0,sizeof(g));        memset(in,0,sizeof(in));        memset(use,0,sizeof(use));        memset(vis,0,sizeof(vis));        f=0;        for(i=0;i<m;i++)        {            scanf("%d%d",&u,&v);            g[u][v]=g[v][u]=1;            in[u]++;            in[v]++;        }        for(i=1;i<=n;i++)        {            if(in[i]%2) break;        }        if(i>n)        {            dfs(1);            for(i=1;i<=n;i++)            if(use[i]==0) break;            if(i>n) printf("1\n");            else printf("0\n");        }        else        {            printf("0\n");        }    }    return 0;}
0 0
原创粉丝点击