xbfk6808Alucard 2021-09-13 16:20 采纳率: 0%
浏览 25

关于 深度优先搜索 求解答

在到达边界后,返回 i = 9 的for 中,取回 book[9] , 返回 上一个节点 ,在这时 i 变成 0 了 ,不仅没有取回 book[8] ,而且 不会再进行第九次for循环了 ,这我实在是不知道原因 求解答 那些 cout 是程序出错后我 为了看清楚细节 加上的

class dfs
{
    private:
    int step[10] ;
    int book[10] = {0,0,0,0,0,0,0,0,0,0};
    int i;

    public:
    
    void func(int s)
    {
        cout << "zai di " << s << " ge he zi qian" << endl ;
        if (s == 10)
        {
            if (100*step[1]+10*step[2]+step[3]+100*step[4]+10*step[5]+step[6] == 100*step[7]+10*step[8]+step[9])
            {
                cout << step[1];step[2];step[3] ;
                cout << "+" ;
                cout << step[4];step[5];step[6] ;
                cout << "=";
                cout << step[7];step[8];step[9] ;
                cout << endl;
            }
            cout << "fan hui  di jiu ge he zi " << endl;
            return;
        }

        for (i=1;i<=9;i++)
        {
            if(book[i]==0)
            {
                step[s]=i;
                cout << s << " hezi fangle " << i << "kapian "<< endl ;
                book[i]=1;
                cout << "jin  xing di"  << s+1 << "ge he zi " << endl;
                func(s+1);               
                book [i]=0;
                cout << "****************************************" << i << endl;
                cout << "qv hui pai " << i << endl ; 
            }
        }
        cout << "fan hui di" << s-1 << " ge he zi "<< endl;
        return;
    }

    
};
  • 写回答

1条回答 默认 最新

  • baidu_30233079 2021-09-13 16:39
    关注

    把第6行int i移到11行后

    评论

报告相同问题?

问题事件

  • 创建了问题 9月13日

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题