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


#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