본문 바로가기

반응형

전체 글

(297)
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 외판원 순회 (10971) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 외판원 순회 (10971) 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net [ 문제 ] 외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자. 1번부터 N번까지 번호가 매겨져 있는 도시들이 있고,..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 차이를 최대로 (10819) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 차이를 최대로 (10819) 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net [ 문제 ] N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| [ 입력 ] 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 모든 순열 (10974) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 모든 순열 (10974) 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net [ 문제 ] N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. [ 출력 ] 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. [ 코드 ] #include #include #include using namespace std; int main() { int N; cin >> N; vector a(N); for (int i = 0; i < N; i..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 이전 순열 (10973) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 이전 순열 (10973) 10973번: 이전 순열 첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net [ 문제 ] 1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 바로 이전에 오는 순열을 구하는 프로그램을 작성하시오. 사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다. N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다. 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2, 1 [ 입력 ] 첫째 줄에 N(1 ≤ N..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 다음 순열 (10972) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - 다음 순열 (10972) 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net [ 문제 ] 1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 다음에 오는 순열을 구하는 프로그램을 작성하시오. 사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다. N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다. 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2, 1 [ 입력 ] 첫째 줄에 N(1 ≤ N ≤ 10..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(12) (15666) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(12) (15666) 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 문제 ] N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. [ 입력 ] 첫째 줄에 ..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(11) (15665) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(11) (15665) 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 문제 ] N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. [ 입력 ] 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수..
[문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(10) (15664) [문과 코린이의 IT 기록장] C++ 백준 문제풀이[BF] - N과 M(10) (15664) 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 문제 ] N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ AK-1 ≤ AK를 만족하면, 비내림차순이라고 한다. [ 입력 ] 첫째 줄에 N과 M이 주어진다. (1 ≤ M ..

반응형