if(!(colbad[j] || diagbadleft[row+j] || diagbadright[j-row+width])) { colbad[j] = 1; moves[row] = j; diagbadleft[row+j] = 1; diagbadright[j-row+width] = 1; placequeen(row+1,moves); moves[row] = 0; diagbadleft[row+j] = 0; diagbadright[j-row+width] = 0; colbad[j] = 0; } } } int main() { FILE *fin = fopen ("checker.in", "r"); fscanf (fin, "%d\n", &width); int moves[width]; placequeen(0, moves); FILE *fout = fopen ("checker.out", "a"); fprintf (fout, "%d\n", sols); return 0; }