CC故里 2021-10-11 23:41
浏览 11
已结题

关于深度优先搜索中递归数据无变化的问题


#include<iostream>
using namespace std;
int n, k;
char a[8][8];
int book[8][8], ans = 0;
void dfs(int x, int y, int t)
{
    if (t == k)
    {
        cout << x << ' ' << y << ' ' << t << endl;
        ans++;
        return;
    }
    for (int i = x; i <= n; i++)
    {
        for (int j = y; j <= n; j++)
        {
            if (book[i][j] == 1)
            {
                //cout << i << ' ' << j << ' ' << t << endl;
                book[i][j] = -1;
                dfs(i, j,t+1 );
                book[i][j] = 1;
            }
        }
    }
    return;
}
int main()
{

    while (cin >> n >> k)
    {
        
        if (n == -1 && k == -1)
        {
            break;
        }ans = 0;
        memset(book, 0, sizeof(book));
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
                cin >> a[i][j];
            }
        }
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {
                if (a[i][j] == '#')
                {
                    book[i][j] = 1;
                }
            }
        }
        /*for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n; j++)
            {

                cout << i << ' ' << j << ' ' << book[i][j] << endl;

            }
        }*/
        dfs(1, 1, 0);
        cout << "ans=" << ans << endl;

    }
}

为什么dfs(i,j,t+1),中的t在递归中只有1和0

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月19日
    • 创建了问题 10月11日

    悬赏问题

    • ¥15 odoo17处理受托加工产品
    • ¥15 如何用MATLAB编码图三的积分
    • ¥15 圆孔衍射光强随孔径变化
    • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
    • ¥15 ESP-PROG配置错误,ALL ONES
    • ¥15 结构功能耦合指标计算
    • ¥50 AI大模型精调(百度千帆、飞浆)
    • ¥15 非科班怎么跑代码?如何导数据和调参
    • ¥15 福州市的全人群死因监测点死亡原因报表
    • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度