#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