곽로그
[백준 9663, 자바] N-Queen 본문
반응형
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = br.readLine();
StringTokenizer st = new StringTokenizer(line,"\n");
int N=Integer.parseInt(st.nextToken());
NQ nq =new NQ(N);
nq.countQueen(0);
bw.write(String.valueOf(nq.count));
bw.flush();
}
}
class NQ{
final int N ;
int[] queens;
int count=0;
NQ(int N){
this.N= N;
queens=new int[N];
}
void countQueen(int row){
if(row>=N){
count++;
}
else{
for(int column =0; column<N;column++){
if(isValid(row, column)){
queens[row]=column;
countQueen(row+1);
}
}
}
}
boolean isValid(int row, int column){
for(int index=0;index<row;index++){
if(queens[index]==column){
return false;
}
else if(Math.abs(index-row)==Math.abs(queens[index]-column)) {
return false;
}
}
return true;
}
int getCount(){
return count;
}
}
br.write 는 String 출력
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 9095, Java] 1,2,3 더하기 (0) | 2020.09.07 |
---|---|
[백준 18290, 자바] NM과 K (1) (0) | 2020.08.12 |
[백준 14889,자바] 스타트와 링크 (0) | 2020.03.22 |
[백준 15649, 자바 ] N과 M (1) (0) | 2020.03.21 |
[백준 15650, 자바] N과 M (2) (0) | 2020.03.21 |
Comments