#include <stdio.h>
#include<stdlib.h>
{
int main()
{
Ltable *p;
DataType tem;
Ltableinit(&p); //初始化邻接表;
int n,c;
printf("本程序由电子商务10级2班孙印民、续琳琳、王倩共同开发,欢迎使用!\n") ;
while (1)
{
printf("请输入牧师与野人的人数n:\n");
scanf("%d",&n);
if (n==0)
break;
printf("请输入船可容纳的人数c:\n");
scanf("%d",&c);
tem.ms=n;
tem.yr=n;
tem.cw=1;
insertson(p, tem);
work(p,n,c);
}
return 1;
}
void work(Ltable *p,int n,int c)
{
Ltable *q,
a[0].yr=0;
while (q!=p)
{
a[i++]=q->data;
q=q->par;
}
while ((--i)>-1)
{
printf("【 牧师%d 野人%d 船%d 】",a[i].ms,a[i].yr,a[i].cw);
if (!(a[i].ms==0&&a[i].yr==0&&a[i].cw==0))
{if (a[i].cw==1)
printf(" --> 【 牧师%d 野人%d 】 --> 【 牧师%d 野人%d 船0 】\n",a[i].ms-a[i-1].ms,a[i].yr-a[i-1].yr,a[i-1].ms,a[i-1].yr);
else printf(" <-- 【 牧师%d 野人%d 】 <-- 【 牧师%d 野人%d 船1 】\n",(a[i].ms-a[i-1].ms)*(-1),(-1)*(a[i].yr-a[i-1].yr),a[i-1].ms,a[i-1].yr);
}
else printf("\n");
}
}