8 Rooks & 8 Bishops Problem

JAVA Code

import java.io.*;  
  
class bishop  
{  
   static int a[][]= new int[8][8];  
   static int pl[][]= new int[8][8];  
   static int row;   
   static  int placerook(int i,int j)  
  {  
   int i1,j1,flag=0;  
   i1=i;  
   j1=j;  
   while(i1>=0)  
   {  
     if(a[i1][j1]==0)  
     flag=1;  
     i1--;  
   }  
   return(flag);  
  }  
  
 static   int placebishop(int i,int j)  
   {  
    int i1,j1,flag=0;  
    i1=i;  
    j1=j;  
      
     while((i1>=0)&&(j1>=0))  
      {if(a[i1][j1]==1)  
       flag=1;  
        i1--;  
        j1--;}  
         i1=i;  
       j1=j;  
         
       while((i1>=0)&&(j1<8))  
       {  
         if(a[i1][j1]==1)  
         flag=1;  
         i1--;  
         j1++;  
       }  
     return(flag);  
     }  
  
static  void rook(int l)    
{  
     int k,j;  
    for(j=l;j<8;j++)  
    {  
     if(pl[row][j]==0)  
      {  
  
        k=placerook(row,j);  
       if(k==0)  
      {  
        a[row][j]=0;  
        pl[row][j]=1;  
        break;  
      }  
    }  
  }  
   (row)++;  
 }  
     
  static  void bishop(int l)  
  {  
      int k,j;  
      for(j=l;j<8;j++)  
      {  
       if(pl[row][j]==0)  
       {  
        k=placebishop(row,j);  
        if(k==0)  
        {  
         a[row][j]=1;  
         pl[row][j]=1;  
         break;  
        }  
     }  
    }  
    (row)++;  
   }  
  
 public static  void main(String args[]) throws IOException  
 {  
    int i,j,k,l,p,t=0;  
    String ch;  
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));                 
     while(t<8)  
     {  
      System.out.println("solution no" + (t+1));  
     for(i=0;i<8;i++)  
     for(j=0;j<8;j++)  
     a[i][j]=-1;  
    for(i=0;i<8;i++)  
    for(j=0;j<8;j++)  
     pl[i][j]=0;  
     row=0;  
     rook(t);  
     for(p=1;p<8;p++)  
     rook(0);  
    row=0;  
    for(p=0;p<8;p++)  
     bishop(0);  
    System.out.println("R = rook ");  
    System.out.println("B = bishop");  
    for(i=0;i<8;i++)  
    {  
     for(j=0;j<8;j++)  
     {  
      if(a[i][j]==0)  
       System.out.print("   R   ");  
     if(a[i][j]==1)  
      System.out.print("   B   ");  
     if(a[i][j]==-1)  
      System.out.print("   _   ");  
    }  
    System.out.println("\n");   
    }  
       t++;  
    }  
  }  
}  
/* 
 
OUTPUT 
 
 
D:\JDK1.3\BIN>java bishop|more 
 
solution no1 
R = rook 
B = bishop 
   R      B      _      _      _      _      _      _ 
 
   _      R      _      B      _      _      _      _ 
 
   B      _      R      _      _      _      _      _ 
 
   B      _      _      R      _      _      _      _ 
 
   _      _      _      B      R      _      _      _ 
 
   B      _      _      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
 
   _      _      _      B      _      _      _      R 
 
solution no2 
R = rook 
B = bishop 
   B      R      _      _      _      _      _      _ 
                                                        -- More -- 
   R      _      B      _      _      _      _      _ 
 
   B      _      R      _      _      _      _      _ 
 
   _      _      B      R      _      _      _      _ 
 
   B      _      _      _      R      _      _      _ 
 
   _      _      B      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
 
   _      _      B      _      _      _      _      R 
 
solution no3 
R = rook 
B = bishop 
   B      _      R      _      _      _      _      _ 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
                                                        -- More -- 
   _      _      B      R      _      _      _      _ 
 
   B      _      _      _      R      _      _      _ 
 
   _      _      B      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
 
   _      _      B      _      _      _      _      R 
 
solution no4 
R = rook 
B = bishop 
   B      _      _      R      _      _      _      _ 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
 
   _      _      R      _      _      B      _      _ 
 
   B      _      _      _      R      _      _      _ 
                                                        -- More -- 
   B      _      _      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
 
   B      _      _      _      _      _      _      R 
 
solution no5 
R = rook 
B = bishop 
   B      _      _      _      R      _      _      _ 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
 
   _      _      R      _      _      B      _      _ 
 
   B      _      _      R      _      _      _      _ 
 
   B      _      _      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
                                                        -- More -- 
   B      _      _      _      _      _      _      R 
 
solution no6 
R = rook 
B = bishop 
   B      _      _      _      _      R      _      _ 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
 
   _      _      R      _      _      B      _      _ 
 
   B      _      _      R      _      _      _      _ 
 
   B      _      _      _      R      _      _      _ 
 
   B      _      _      _      _      _      R      _ 
 
   B      _      _      _      _      _      _      R 
 
solution no7 
-- More -- 
R = rook 
B = bishop 
   B      _      _      _      _      _      R      _ 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
 
   _      _      R      _      _      B      _      _ 
 
   B      _      _      R      _      _      _      _ 
 
   B      _      _      _      R      _      _      _ 
 
   B      _      _      _      _      R      _      _ 
 
   B      _      _      _      _      _      _      R 
 
 
solution no8 
R = rook 
B = bishop 
   B      _      _      _      _      _      _      R 
 
   R      _      B      _      _      _      _      _ 
 
   B      R      _      _      _      _      _      _ 
 
   _      _      R      _      _      B      _      _ 
 
   B      _      _      R      _      _      _      _ 
 
   B      _      _      _      R      _      _      _ 
 
   B      _      _      _      _      R      _      _ 
 
   B      _      _      _      _      _      R      _ 
*/