1 / 3
文档名称:

商人过河C语言代码.doc

格式:doc   大小:24KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

商人过河C语言代码.doc

上传人:文库旗舰店 2020/11/29 文件大小:24 KB

下载得到文件列表

商人过河C语言代码.doc

文档介绍

文档介绍:#include<>
int a[300][2],z;
int m,n,p;
int ifok1(int x1,int y1,int x2,int y2)
{
if(x1>=y1 && x2>=y2) return 1;
else if(x2==0) return 1;
else if(x1==0) return 1;
return 0;
}
int ifok2(int n,int x,int y)
{
if(n%2==0)
for(int i=0;i<n;i+=2)
if(x==a[i][0] && y==a[i][1])
return 0;
if(n%2==1)
for(int i=1;i<n;i+=2)
if(x==a[i][0] && y==a[i][1])
return 0;
return 1;
}
void fun(int x1,int y1,int x2,int y2,int time)
{
int i,j;

if(ifok1(x1,y1,x2,y2) && ifok2(time,x1,y1))
{
a[time][0]=x1;
a[time][1]=y1;
}

else return;



if(x1==0 && y1==0)
{
printf("第%d种方法:\n",z+1);
printf("(%d,%d)\n",m,n);
for(i=1;i<=time;i++)
printf("(%d,%d)\n",a[i][0],a[i][1]);
printf("\n");
z++;
return;
}

else if(time%2==0)
{
for(i=p;i>=1;i--)
for(j=0;j<=i;j++)
{
if(x2+j<=n && y2+(i-j)<=m)
fun(x1-j,y1-(i-j),x2+j,y2+(i-j),time+1);
}
}


else if(time%2==1)
{

最近更新