首页 > 代码库 > 环 快完成了
环 快完成了
#include<iostream> int num,zu; int a[50][2]={0}; int visit[11]={0}; int data[11][11]={0}; int tou=0; int wei=1; int last; int flag=0; int k=0; int d[11][11]={0}; typedef struct node { int x; int pre; }node; node point[10000]={0}; int l=0; int b[1000]={0}; void prin(int i) { if(i==-1) return; //printf("(%d,%d)\n",dui[i].x ,dui[i].y ); prin(point[i].pre); b[l]=point[i].x; l++; //printf("%d",point[i].x); } void p(int i) { if(i==-1) return; p(point[i].pre); printf("%d",point[i].x); } int panduan(int k) { for(int i=k-1;k>=0;k--) { if(b[i]==b[k]) { return 1; } } return 0; } void bfs() { int tou=0; int wei=1; while(tou<wei) { last=tou; prin(tou); if(panduan(l)) { flag=1; p(tou); } l=0; for(int i=0;i<10;i++) b[i]=0; for(int k=1;k<=num;k++) { if(data[point[tou].x][k]==1) { data[point[tou].x][k]=0; point[wei].x=k; //printf("%d",point[wei].x); point[wei].pre=tou; wei++; } } tou++; } } int main() { freopen("input.txt","r",stdin); scanf("%d%d",&num,&zu); for(int i=0;i<zu;i++) { for(int j=0;j<2;j++) { scanf("%d",&a[i][j]);} } for(int i=0;i<=zu;i++) { data[a[i][0]][a[i][1]]=1; } for(int i=1;i<=num;i++) { for(int j=1;j<=num;j++) { d[i][j]=data[i][j]; } } for(int i=1;i<=num;i++) for(int j=1;j<=num;j++) { if(flag==0){ if(data[i][j]==1) { //data[i][j]=0; for(int u=1;u<=num;u++) { for(int t=1;t<=num;t++) { d[u][t]=data[u][t]; } } int tou=0; point[tou].x=i; point[tou].pre=-1; bfs(); } } } }
环 快完成了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。