HDU 2894 DeBruijin (欧拉回路)

题目地址:HDU2894 跟POJ 1392基本一样的。。 代码如下:

;mod=1e9+7;const int INF=0x3f3f3f3f;const double eqs=1e-9;int path[12][1<<12], top[12], vis[1<<12], head[1<<12], cnt;struct node{int u, v, next;}edge[1<<13];void add(int u, int v){edge[cnt].v=v;edge[cnt].next=head[u];head[u]=cnt++;}void dfs(int u, int f){for(int i=head[u];i!=-1;i=edge[i].next){int v=edge[i].v;if(!vis[v]){vis[v]=1;dfs(v,f);}}path[f][top[f]++]=u;}void init(){memset(head,-1,sizeof(head));cnt=0;memset(vis,0,sizeof(vis));}int main(){int i, j, n, k, h, x, y;//freopen(“2.txt”,”w”,stdout);memset(top,0,sizeof(top));for(i=1;i<=11;i++){init();x=1<<i;y=1<<i-1;for(j=0;j<x;j++){if(j<y){add(j,j<<1|1);add(j,j<<1);}else{add(j,(j-y)<<1|1);add(j,(j-y)<<1);}}vis[0]=1;dfs(0,i);}while(scanf(“%d”,&n)!=EOF){printf(“%d “,1<<n);for(i=1;i<n;i++){printf(“0”);}for(i=top[n]-1;i>=n-1;i–){printf(“%d”,path[n][i]&1);}puts(“”);}return 0;}

,人若软弱就是自己最大的敌人

HDU 2894 DeBruijin (欧拉回路)

相关文章:

你感兴趣的文章:

标签云: