Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h>
- #define DIM_TABLE 12
- #define DIM_DIJAGONALE 2*DIM_TABLE-1
- int kp[DIM_TABLE];
- int vr[DIM_TABLE],dij1[DIM_DIJAGONALE],dij2[DIM_DIJAGONALE];
- int rn;
- void stampaj(){
- int i,j;
- printf("\n");
- for(i=0;i<DIM_TABLE;i++)
- {
- for(j=0;j<DIM_TABLE;j++)
- if(kp[j]==i)
- printf("1");
- else
- printf("0");
- printf("\n");
- }
- }
- void kontolna_stampa(int kn)
- {
- int ii;
- stampaj();
- printf("Kolona u koju se postavlja top:%5d\n",kn);
- printf("kp niz");
- for(ii=0;ii<DIM_TABLE;ii++)
- printf("%2d",kp[ii]);
- printf("\n");
- printf("kraj kp\n");
- for(ii=0;ii<DIM_DIJAGONALE;ii++)
- printf("%2d",dij1[ii]);
- printf("\n");
- printf("kraj dij1\n");
- for(ii=0;ii<DIM_DIJAGONALE;ii++)
- printf("%2d",dij2[ii]);
- printf("\n");
- printf("kraj dij2\n");
- }
- int postavi(int kn){
- int i;
- for(i=0;i<DIM_TABLE;i++){
- if(!vr[i]&&!dij1[i+kn]&&!dij2[kn-i+DIM_TABLE-1])
- {
- if(kn<DIM_TABLE-1){
- kp[kn]=i;
- vr[i]=1;
- dij1[i+kn]=1;
- dij2[kn-i+DIM_TABLE-1]=1;
- kontolna_stampa(kn);
- if(postavi(kn+1))
- return (1);
- vr[i]=0;
- dij1[i+kn]=0;
- dij2[kn-i+DIM_TABLE-1]=0;
- }
- else{
- kp[kn]=i;
- stampaj();
- return(1);
- }
- }
- }
- return(0);
- }
- void main()
- {
- int i;
- rn=0;
- for(i=0;i<DIM_TABLE;i++)
- vr[i]==0;
- for(i=0;i<DIM_DIJAGONALE;i++)
- dij1[i]=dij2[i]=0;
- if(!postavi(0))
- printf("Nema resenja\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement