#包括#包括//#定义N 7//#定义ALLOWED_CHANGES 1整数X[N][N][N][N][N][N][N][N];长-长cnt=0;内联int test_valid(int a,int b,int c,int d,int e,int f,int g,int h){整数i1、i2、i3、i4、i5、i6、i7、i8、i9;int场景=0;对于(int z=0;zALLOWED_CHANGES)返回0;}返回1;}内联无效显示(){cnt++;printf(“#%ld:”,cnt);for(int a=0;a0 ?"+":"-");}}}}}}} }printf(“\n”);}void rec_fill2(int a,int b,int c,int d,int e,int f,int g,int h){如果(a==b){a=0;b++;如果(b==c){b=1;c++;如果(c==d){c=2;d++;如果(d==e){d=3;e++;如果(e==f){e=4;f++;如果(f==g){f=5;g++;如果(g==h){g=6;h++;}}}}}}}如果(h==N){显示();}其他的{对于(int v=-1;v<=+1;v+=2){X[a][b][c][d][e][f][g][h]=v;如果(测试有效(a,b,c,d,e,f,g,h);X[a][b][c][d][e][f][g][h]=0;} }}无效init_zeros(){for(int a=0;a-->