728x90 C++8 [백준(baekjoon)/C++]백준(BaekJoon) 9663 : N-Queen c++ ▶문제 : 9663번: N-Queen (acmicpc.net) 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net ▶코드 작성 #include #include int board[16]; //배열 자리 : 가로칸 , 배열값 : 세로줄 int len, cnt; void chess(int n) {//n : 세로줄(배열값) bool t; if (n == len + 1) {//마지막줄의 퀸 자리가 정해지고 재귀함수가 호출되면 n==len+1 이다. cnt++;//퀸 자리가 정해졌으므로 더해줌 return; } for (int i = 1;.. 2022. 7. 1. [백준(baekjoon)/C++]백준(BaekJoon) 15651 : N 과 M (3) c++ ▶문제 : 15651번: N과 M (3) (acmicpc.net) 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ▶코드 작성 #include int n, m; int arr[7]; void print(int i) {//i : arr배열의 길이 if (i == m) {//arr배열의 길이가 m일 때 출력 for (int j = 0; j < m; j++) { std::cout 2022. 6. 29. [백준(baekjoon)/C++]백준(BaekJoon) 15650 : N 과 M (2) c++ ▶문제 : 15650번: N과 M (2) (acmicpc.net) 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ▶코드 작성 #include int n, m; int arr[8]; void print(int i) {//i : arr배열의 자리 if (i == m) {//arr배열이 m개의 수를 채웠을 때 출력 for (int j = 0; j < m; j++) { std::cout m; for (int i = 1; i 2022. 6. 29. [백준(baekjoon)/C++]백준(BaekJoon) 15649 : N 과 M (1) c++ ▶문제 : 15649번: N과 M (1) (acmicpc.net) 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ▶코드 작성(아래에 개선 코드) #include int n, m; int arr[8];//한 줄로 출력할 수의 배열 void print(int i) {//i : arr배열의 자리 bool b; for (int j = 1; j m; print(0);//맨 앞자리 0부터 시작 } 반복문을 사용해서 arr배열에 이미 들어가 있는 수인지 찾는 방법이 비효율적이었다. ▶개선 코드 #include int n.. 2022. 6. 29. 이전 1 2 다음 728x90