본문 바로가기

컴퓨터/백준 알고리즘

(177)
백준 알고리즘 14889번: 스타트와 링크 [C++] 문제 출처: www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 1. 코드 #include #include #include using namespace std; int board[21][21] = { 0, };//능력치 저장 보드 int board_size;//보드의 크기 int low = 100;//제일 적은 오차의 크기 int flag[21] = { 0, };//해당 인원의 소속 여부 확인용 vector start;//start팀의 구성 vector link;//link팀의 구성..
백준 알고리즘 14888번: 연산자 끼워넣기 [C++] 문제 출처: www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 1. 코드 #include #include using namespace std; vector operand;//피연산자 저장 vector op;//연산자 저장 vector flag;//연산자 사용여부 int low = 100000000;//최솟값 int hight = -100000000;//최댓값 int AC = 0;//계산 결과 void so..
백준 알고리즘 2580번: 스도쿠 [C++] 문제 출처: www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 1. 코드 #include using namespace std; typedef struct { int x; int y; }Point; int board[9][9] = { 0, }; int cnt = 0;//board에 0이 입력된 횟수 Point p[162] = { 0, };// board에 0이 입력된 좌표 저장 bool check(int x, int y, int key) { for (int i ..
백준 알고리즘 9663번: N-Queen [C++] 문제 출처: www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 코드 #include using namespace std; bool board[15][15]; int n, result = 0; bool search(int x, int y) { for (int i = 0; i = 0 && y - i >= 0 && bo..
백준 알고리즘 15652번: N과 M (4) [C++] 문제출처: www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 코드 #include #include using namespace std; int n, m; string arr; bool input[9]; void solution(int position) { if (position == m) { for (int i = 0; i < m; i++) cout m; solution(0); return 0; } (실행) 2. 풀이 int n, m; string ar..
백준 알고리즘 15651번: N과 M (3) [C++] 문제 출처: www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 코드 #include #include using namespace std; int n, m; string arr; void solution(int position) { if (position == m) { for (int i = 0; i < m; i++) cout m; solution(0); return 0; } (실행) 2. 풀이 int n, m; string arr; 필요한 변수를 선언을..
백준 알고리즘 15650번: N과 M (2) [C++] 문제 출처: www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 코드 #include #include using namespace std; int n, m; string arr; bool input[9]; void solution(int position) { if (position == m) { for (int i = 0; i > m; solution(0); 그리고 n과 m에 값을 입력한 뒤 solution(0)을 실행하는..
백준 알고리즘 15649번: N과 M(1) [C++] 문제 출처: www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1. 코드 #include #include using namespace std; string arr; bool input[9]; int n, m; void solution(int position) { if (position == m) { for (int i = 0; i < m; i++) cout m; solution(0); return 0; } (실행) 2. 풀이 위 실행 과정의 그림은 n = 4..