m0_73452408 2023-03-22 22:43 采纳率: 33.3%
浏览 22

请问这道关于马的遍历的问题代码问题在哪里?

img


#include <iostream>
#include<cmath>
using namespace std;
long long int board[401][401];//表示该点是否走过;
int length, width;//确定长和宽
int hang0, lie0; int t, sum[301], road;//sum出差到某点的步数,road表示到某点的第几条路;
bool arrive;//hang0,lie0表示初始点的位置
int hang_move[8] = { 1,1,2,2,-1,-1,-2,-2 };
int lie_move[8] = { 2,-2,1,-1,2,-2,1,-1 };
void moveto1(int hang1, int lie1) { //t表示移动步数
    board[hang1][lie1] = 1;
    if (hang1 == hang0&& lie1 == lie0) {
        sum[road] = t;
        road++;
        arrive = true;
    }
    else
    {
        t++;
        int i1, j1, k;
        for (k = 0; k < 8; k++) {
            i1 = hang1 + hang_move[k];
            j1 = lie1 + lie_move[k];
            if (i1 > 0 && j1 > 0 && i1 <= length && j1 <= width && board[i1][j1] != 1)
            {
                moveto1(i1, j1);
            }
        }
    }
}
int main()
{
    cin >> length >> width;
    cin >> hang0 >> lie0; 
    for (int i = 1; i <= length; i++) {
        for (int j = 1; j <= width; j++) {
            for (int i = 1; i <= length; i++) {
                for (int j = 1; j <= width; j++)
                    board[i][j] = 0;//将棋盘上每个点归零
            }
            arrive = false;
            t = 0;
            road = 0;
            moveto1(i, j);
            if (arrive == true) {
                int min = sum[0];
                for (int i = 1; i < road; i++)
                    if (sum[i] <  min)
                        min = sum[i];
                cout << min << " ";
            }
            else
                cout << "-1" << " ";
        }
        cout << endl;
    }
    
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2023-03-22 22:53
    关注
    for (int i = 1; i <= length; i++) {
            for (int j = 1; j <= width; j++) {
                for (int i = 1; i <= length; i++) {
                    for (int j = 1; j <= width; j++)
    这里怎么i j出现了2
    评论

报告相同问题?

问题事件

  • 创建了问题 3月22日

悬赏问题

  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。