#include<stdio.h>
#include<stdlib.h>
typedef struct line
{
int a;
struct line *f;
}line,*linek;
void make(linek n[],int v,int r,int u[])
{
linek p;
u[v]=1;
p=n[v]->f;
while(p!=NULL)
{
v=p->a;
if(u[v]!=1)
{
if(v==r)
{
printf("T");
break;
}
make(n,v,r,u);
p=p->f;
}
}
}
int main()
{
linek n[7];
int i;
n[0]=(linek)malloc(sizeof(line));
n[0]->a=0;
n[0]->f=NULL;
for(i=1;i<7;i++)
{
n[i]=(linek)malloc(sizeof(line));
n[i]->a=i;
n[i]->f=NULL;
}
linek p,y;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=2;
n[1]->f=p;
y=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=4;
y->f=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=5;
n[2]->f=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=6;
n[3]->f=p;
y=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=5;
y->f=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=2;
n[4]->f=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=4;
n[5]->f=p;
p=(linek)malloc(sizeof(line));
p->f=NULL;
p->a=6;
n[6]->f=p;
int v;
int e,r;
scanf("%d",&e);
scanf("%d",&r);
v=e;
int u[7]={0,0,0,0,0,0,0};
make(n,v,r,u);
return 0;
}
输入后就没反应了 运行时间过长 为什么啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 书山客 2021-12-15 09:22关注
#include<stdio.h> #include<stdlib.h> typedef struct line { int a; struct line* f; }line, * linek; void make(linek n[], int v, int r, int u[]) { linek p; u[v] = 1; p = n[v]->f; while (p != NULL) { v = p->a; if (u[v] != 1) { if (v == r) { printf("T"); break; } make(n, v, r, u); } p = p->f; } } int main() { linek n[7]; int i; n[0] = (linek)malloc(sizeof(line)); n[0]->a = 0; n[0]->f = NULL; for (i = 1; i < 7; i++) { n[i] = (linek)malloc(sizeof(line)); n[i]->a = i; n[i]->f = NULL; } linek p, y; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 2; n[1]->f = p; y = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 4; y->f = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 5; n[2]->f = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 6; n[3]->f = p; y = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 5; y->f = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 2; n[4]->f = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 4; n[5]->f = p; p = (linek)malloc(sizeof(line)); p->f = NULL; p->a = 6; n[6]->f = p; int v; int e, r; scanf("%d", &e); scanf("%d", &r); v = e; int u[7] = { 0,0,0,0,0,0,0 }; make(n, v, r, u); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度