Skip to content

Instantly share code, notes, and snippets.

@molcay
Created July 2, 2015 01:57
Show Gist options
  • Save molcay/8982239f5d0a4ce2a7d1 to your computer and use it in GitHub Desktop.
Save molcay/8982239f5d0a4ce2a7d1 to your computer and use it in GitHub Desktop.
N Queen Problem
public class NQueen {
public static int[] olustur(int N) {
int kalan = N % 12;
System.out.println(kalan);
int[] yeniDizi = new int[N];
int indeks = 0;//yeni dizinin indeks ine pointer olacak.
int baslangic = (kalan != 3 && kalan != 9) ? 2 : 4;
for (int i = baslangic; i <= N; i += 2) {
yeniDizi[indeks++] = i;
}
if (!(kalan != 3 && kalan != 9)) {
yeniDizi[indeks++] = 2;
}
//ilk 3 madde burda bitti.
if (kalan != 8 && kalan != 2) {
baslangic = (kalan != 3 && kalan != 9) ? 1 : 5;
for (int i = baslangic; i <= N; i += 2) {
yeniDizi[indeks++] = i;
}
if (!(kalan != 3 && kalan != 9)) {
yeniDizi[indeks++] = 1;
yeniDizi[indeks++] = 3;
}
}//6. madde burda bitti.
else if (kalan == 8) {
baslangic = 1;
for (int i = baslangic; i <= N; i += 4) {
yeniDizi[indeks++] = i + 2;
yeniDizi[indeks++] = i;
}
}//4.madde burda bitti.
else {
yeniDizi[indeks++] = 3;
yeniDizi[indeks++] = 1;
yeniDizi[(yeniDizi.length - 1)] = 5;
baslangic = 7;
for (int i = baslangic; i <= N; i += 2) {
yeniDizi[indeks++] = i;
}
}//5.madde burda bitti.
// ilk 6 madde burda bitti. Liste hazır.
return yeniDizi;
}
public static void yazdir(int[] dizi) {
String [] harfler = {"A", "B", "C", "D", "E", "F", "G", "H"};
for (int i = 0; i < dizi.length; i++) {
System.out.print(harfler[i] + dizi[i] + " ");
}
}
public static void main(String[] args) {
int N = 8;
/*
for (int a : olustur(N)) {
System.out.print(a);
System.out.print(" - ");
}
System.out.println();*/
yazdir(olustur(N));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment