| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:[求助]这个程序杂个编
取消只看楼主 加入收藏
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
 问题点数:0 回复次数:9 
[求助]这个程序杂个编

设有一个n*m的棋盘(2<=n<=50,2<=m<=50),在棋盘上任一点有一个中国象棋马,马走的规则为:
1.马走日字 2.马只能向右走
任务1:当N,M 输入之后,找出一条从左下角到右上角的路径。
例如:输入 N=4,M=4
输出:路径的格式:(1,1)->(2,3)->(4,4)
若不存在路径,则输出“no”
任务2:当N,M 给出之后,同时给出马起始的位置和终点的位置,试找出从起点到终点的所有路径的数目。
例如:(N=10,M=10),(1,5)(起点),(3,5)(终点)
输出:2(即由(1,5)到(3,5)共有2条路径)
输入格式:n,m,x1,y1,x2,y2(分别表示n,m,起点坐标,终点坐标)
输出格式:路径数目(若不存在从起点到终点的路径,输出0)

搜索更多相关主题的帖子: 起点 
2006-05-22 11:55
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

杂个没有人帮忙呢!


2006-05-23 09:57
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

谢谢个位了啊!没想到这么快就回贴。


2006-05-24 12:40
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

我看有一点意思了,如果有更好的还请多多指教。


2006-05-24 12:51
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

是要考虑所有可能出现的情况啊!


2006-05-25 12:52
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 
以下是引用–★–在2006-5-25 13:26:00的发言:

是你考别人呢还是你想从中学到点东西?我的目的是抛砖引玉,也希望楼主有所收获。毕竟此论坛不是ACM考场,OK?所以版主也经常提醒我等,不要直接给个尽善尽美的代码完事。

好久没上了,今天一看楼上的批评与建议。我深有感触,做学问就应该脚塌实地。我接受批评,同时跟更希望广大的编程爱好者在这里相互探讨,有所提高。


2006-07-12 14:34
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

上面的题目是一个奥塞试题, 我对这方面也感兴趣,和大家一起探讨以下是我的一点考虑,还请指教:
#include "stdio.h"

#define N 3

main()

{

int way1[N]={1,2,2,1}, way2[N]={2,-1,-1,2};

int m,n,i,j,k;

int chx[50]={1};

int chy[50]={1};

printf("please input tow mount:\n");

scanf("%d%d",&m,&n);

if(m<1||50<m||1>n||n<50)

printf("error\n");

else

printf("beain:\n");

for(N=3;N>=0;N--);

for(i=0,j=0;j<50&&j<50;j++,i++)

{

chx[i+1]=chx[i]+way1[0];

chy[j+1]=chy[j]+way2[0];

if(chx[i+1]>50||chx[i+1]<1||chy[j+1]>50||chy[j+1]<1)

continue;

chx[i+1]=chx[i-1]+way1[4-N];

chy[j+1]=chy[j-1]+way2[4-N];

if(chx[i+1]=m&&chy[j+1]=n)

break;

}

for(j=0,i=0;j<50&&n<50;j++,i++)

printf("(%d%d)",chx[i]chy[j]);

}

getch();

}


2006-07-12 14:37
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

2006-07-15 09:16
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

#include "stdio.h"
#define N 3

main()
{
int d[4][2]={{1,2},{2,-1},{2,-1},{1,2}};
int m,n,i,j,k;
int chx[50]={1};
int chy[50]={1};
printf("please input tow mount:\n");
scanf("%d%d",&m,&n);
if (m<1||50<m||1>n||n<50)
{
printf("error!input again:\n");
scanf("%d%d",&m,&n);
}
for(k=0;k<3;k++);
for(i=1,j=1;i<25&&j<25;j++,i++)
{
chx[i]=chx[i-1]+d[k][0];
chy[j]=chy[j-1]+d[k][1];
if(chx[i]>=m||chx[i]<=1||chy[j]>=n||chy[j]<=1)
chx[i]=chx[i-1]+d[k][0];
chy[j]=chy[j-1]+d[k][1];

if(chx[i]==m&&chy[j]==n)
break;
}
for(j=0,i=0;j<25&&n<25;j++,i++)
printf("(%d,%d)->",chx[i],chy[j]);
getch();
}运行对了但结果不对!!!!


2006-07-16 13:33
huangjinshun
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-15
收藏
得分:0 

2006-08-20 19:59
快速回复:[求助]这个程序杂个编
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040518 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved