thinking: 开一个数组,将每个数字中间空出来,然后通过用DFS枚举全部可能填补这个空出来的位子,然后把每次出现的数组可能进行计算,如果是0则+1。
important point:
int dfs(int t){
int i,j;
if(t>n*2-2)jisuan();
else
for(j=-1;j>-4;j--){
// cout << "i=" << i << "j=" << j <<endl;
node[t]=j;
dfs(t+2);
}
}dfs(1);表面第一个符号填什么,然后填第3个,如此DFS使得全部符号的尝试一遍。
转载请注明原文地址: https://ju.6miu.com/read-300155.html