题目如图
这t组样例到底是什么意思啊
到底是哪里的问题 求解
#include<iostream>
#include<cstdio>
using namespace std;
const int N = 15;
int n, a[N], tot = 0,k,t[N]; //a-皇后的列标,tot-解的数量
bool col[N],vis[N * 2], vis2[N * 2]; //列,斜线,反斜线
//从第s行开始放皇后
void dfs(int s);
int main()
{
cin >> k;
for(int i=0;i<k;i++){
cin >> n;
dfs(1);
if(tot==0){
cout << "no solute!" << endl;
return 0;
}
t[i]=tot;
tot=0;
}
for(int h=0;h<k;h++)
cout << t[h] << endl;
return 0;
}
//从第s行开始放皇后
void dfs(int s)
{ if(s==n+1){
tot++;
return;
}
//s-行,i-列
for (int i = 1; i <= n;i++){
if(!col[i]&&!vis[s+i]&&!vis2[n+s-i]){
a[s] = i; //第i个皇后放在第s行i列
col[i] = true;
vis[s + i] = true;
vis2[n + s - i] = true;
dfs(s + 1); //继续放第s+1行
//回溯算法
col[i] = false;
vis[s + i] = false;
vis2[n + s - i] = false;
}
}
}