Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * N-queens problem
- * Author: Sergio Milardovich
- * This script is for academic-only usage
- */
- // Just some little tests... this script isn't done yet
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- int q[8];
- bool place(int k, int i);
- void printConfiguration(int q[8]);
- void nQueens(int k, int n);
- void main(){
- nQueens(0,8);
- }
- bool place(int k,int i){
- int j;
- for(j=0;j<(k-1);j++){
- if((q[j] == i) || (abs(q[j]-i) == abs(j-k))){
- return false;
- }
- }
- return true;
- }
- void nQueens(k,n){
- int i;
- printf("\n\n");
- for(i=0;i<n;i++){
- if(place(k,i) == true){
- q[k] = i;
- if(k == n){
- printConfiguration(q);
- } else {
- nQueens(k+1,n);
- }
- }
- }
- }
- void printConfiguration(int q[8]){
- int i,k;
- for(k=0;k=8;k++){
- for(i=0;i<8;i++){
- if(q[k] == i)
- printf("1 ");
- else
- printf("0 ");
- }
- printf("\n");
- }
- printf("\n\n\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment