C++ 54

백준(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) 주석 없는 VERSION #include using namespace std; int N; int operands[11]; int operators[4]; int mmin = 100000001; int mmax = -1000000001; void getanswer(int result, int idx) { if (idx == N) { if (result..

BEAKJOON 2021.01.22

백준(9663번 N-Queen)풀이 C++

www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1) 주석 없는 VERSION #include #include using namespace std; int n; int arr[16] = { 0, }; int cnt = 0; bool check(int l) { for (int i = 0;i < l;i++) { if (arr[l] == arr[i] || abs(arr[l] - arr[i]) == l - i) return false; } return true; } void fun..

BEAKJOON 2021.01.22

백준(2580번 스도쿠)풀이 C++

www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 1) 주석 없는 VERSION #include #include #include #define MAX 9 using namespace std; int arr[MAX][MAX]; vector points; int cnt = 0; bool found=false; bool check(pairp) { int square_x = p.first / 3; int square_y = p.second / 3; for (int i..

BEAKJOON 2021.01.22

백준(15652번 N과 M (4))풀이 C++

www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1) 주석 없는 VERSION #include #include using namespace std; int n, m; int arr[8] = { 0, }; //bool isused[8] = { 0, }; void func(int num,int k) { if (k == m) { for (int i = 0;i < m;i++) { cout m; func(1,0); } 2) 주석 있는 VERSION #include ..

BEAKJOON 2021.01.19

백준(15651번 N과 M (3))풀이 C++

www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1) 주석 없는 VERSION #include #include using namespace std; int n, m; int arr[8] = { 0, }; //bool isused[8] = { 0, }; void func(int k) { if (k == m) { for (int i = 0;i < m;i++) { cout m; func(0); } 2) 주석 있는 VERSION N과 M (1) 에서 if(!isu..

BEAKJOON 2021.01.18

백준(15650번 N과 M (2))풀이 C++

www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1) 주석 없는 VERSION #include #include #include using namespace std; int n, m; int arr[9] = { 0, }; bool isused[9] = { 0, }; void func(int num,int k) { if (k == m) { for (int i = 0;i < m;i++) { cout m; func(1,0); } 2) 주석 있는 VERSION #i..

BEAKJOON 2021.01.18

백준(15649번 N과 M (1))풀이 C++

www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1) 주석 없는 VERSION #include #include #include using namespace std; int n, m; int arr[10] = { 0, }; bool isused[10] = { 0, }; void func(int k) { if (k == m) { for (int i = 0;i < m;i++) { cout m; func(0); } 2) 주석 있는 VERSION #include #..

BEAKJOON 2021.01.18

백준(10814번 나이순 정렬)풀이 C++

www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 1) 주석 없는 VERSION #include #include #include #include #include using namespace std; bool com(pair a,pair b) { return a.first > n; pairp; vectorv; for (int i = 0;i > p.first >> p.sec..

BEAKJOON 2021.01.18

백준(1181번 단어 정렬)풀이 C++

www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 1) 주석 없는 VERSION #include #include #include using namespace std; bool com(string a, string b) { if (a.length() == b.length())return a > n; vectorv; for (int i = ..

BEAKJOON 2021.01.18

백준(11651번 좌표 정렬하기 2)풀이 C++

www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1) 주석 없는 VERSION #include #include #include #include #include #include #include using namespace std; int compare(const pair& a, const pair& b) { if (a.second == b.second) return a.first < b.first; re..

BEAKJOON 2021.01.18