using System; class shachmat { public static bool Che(int [,]arr) { int tmp=0; for (int i = 1; i<9; i++) { for (int j=1; j<9; j++) { if (arr[i,j]==3) { tmp++; } } } if (tmp==8) return true; return false; } public static void A3(int[,]arr,int[]a, int n) { Ipus(arr); int x=n-1; for (int i=x; i>0; i--) {Psila(arr,a[x],x);} } public static void Psila(int[,]arr,int a1,int a2) { arr[a1,a2]=3; int j = a2+1; for (int i=a1+1;i<9;i++) { arr[i,j]=2; j++; } j=a2-1; for (int i=a1+1;i<9;i++) { arr[i,j]=2; j--; } j=a2-1; for (int i=a1-1;i>0;i--) { arr[i,j]=2; j--; } j=a2+1; for (int i=a1-1;i>0;i++) { arr[i,j]=2; j++; } for (int i=1;i<9;i++) { if (arr[i,a2]==1) arr[i,a2]=2; } for ( j=1;j<9;j++) { if (arr[a1,j]==1) arr[a1,j]=2; } } public static void Ipus(int[,]arr) { for (int i=1; i<9;i++) { for(int j=1; j<9;j++) { arr[i,j]=1; } } } public static void Main() { bool check; int [,]arr= new int[8,8]; Ipus(arr); int n=1; int []a=new int[8]; for (a[1]=1;a[1]<9;a[1]++) { if(arr[a,n]==1) Psila(arr, a[n], 1); n=2; for (a[n]=1;a[n]<9;a[n]++) { if (arr[a,n]==1) { Psila(arr,a[n],n); } n=3; for(a[n]=1;a[n]<0;a[n]++) { if (arr[a,n]==1) {Psila(arr, a[n],n);} n=4; for(a[n]=1;a[n]<0;a[n]++) { if (arr[a,n]==1) { Psila(arr, a[n],n); } n=5; for (a[n]=1;a[n]<0;a[n]++) { if (arr[a,n]==1) { Psila(arr, a[n],n); } n=6; for (a[n]=1;a[n]<0;a[n]++) { if (arr[a,n]==1) { Psila(arr, a[n],n); } n=7; for (a[n]=1;a[n]<0;a[n]++) { if (arr[a,n]==1) { Psila(arr, a[n],n); } n=8; for (a[n]=1;a[n]<9;a[n]++) { if (arr[a,n]==1) { Psila(arr, a[n],n); check=Che(arr); if (check) Print(arr); } A3(arr,a, n); } A3(arr,a, n); } A3(arr,a, n); } A3(arr,a, n); } A3(arr,a, n); } A3(arr,a, n); } } } } public static void Print(int[,]arr) { for(int i=1;i<9;i++) { for(int j=1;j<9;j++) { Console.Write("{0}", arr[i,j]); } Console.Write("/n"); } } }