분류 전체보기 (308) 썸네일형 리스트형 [백준/C++] 17485번: 진우의 달 여행 (Large) 문제https://www.acmicpc.net/problem/17485문제 요약 지구에서 달 사이의 공간을 지날 때 소모되는 연료 양을 나타내는 n × m 배열이 주어진다. 지구에서 달로 가는 경우, 우주선이 움직일 수 있는 방향은 아래와 같다. 또한, 우주선은 전에 움직인 방향으로 움직일 수 없다. (같은 방향으로 두 번 연속 움직일 수 없다.) 달에 도달하기 위한 연료의 최솟값을 출력한다.코드#include #include #include #include using namespace std;int n, m;int board[1010][1010];// dp[i][j][k]: (x, y)부터 끝까지 이동했을 때의 최소 비용 // (왼쪽, 가운데, 오른쪽에서 올경우, 시작점)int dp[1010][101.. [백준/C++] 피보나치 수 3 문제https://www.acmicpc.net/problem/2749문제 요약n이 주어졌을 때, 피보나치 수열에서 n번째 수를 1,000,000으로 나눈 출력한다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다.코드#include # define ll long longusing namespace std;ll n;ll dp[2000020];ll fibo(int num) { if (dp[num] != -1) return dp[num]; return dp[num] = (fibo(num - 1) + fibo(num - 2)) % 1000000;}int main() { cin >> n; for (int i = 0; i 코드 설명https://daily-prog.. [백준/C++] 9471번: 피사노 주기 문제https://www.acmicpc.net/problem/9471문제 요약피보나치 수열을 m으로 나눈 나머지로 이루어진 수열은 주기가 존재한다. 반복하는 부분 수열의 길이인 k(m)을 출력한다. 코드#include # define ll long longusing namespace std;int p;int main() { cin >> p; while (p--) { ll n, m; cin >> n >> m; int first = 1; int second = 1; int tmp; for (int i = 2; i 코드 설명m을 2, 3, 4, 5로 늘려가면서 피사노 수열을 써보면 규칙을 찾을 수 있다. => 피사노 수열의.. [백준/C++] 2357번: 최솟값과 최댓값 문제https://www.acmicpc.net/problem/2357문제 요약n개의 정수들이 주어질 때, m개의 쿼리에 대해서 답을 출력한다. 각 쿼리마다 a와 b가 주어지고, a번째 정수부터 b번째 정수까지 가장 작은 정수와 가장 큰 정수를 출력한다. n과 m은 0 이상 100,000이하이다.코드#include #include #include # define ll long longusing namespace std;int n, m;int arr[100010];vector min_tree;vector max_tree;// node번 노드를 [start, end] 범위에서 최대값을 갖는 노드로 초기화 하는 함수ll max_init(ll node, ll start, ll end) { // 리프 노드일 .. [백준/C++] 13549번: 숨바꼭질 3 문제https://www.acmicpc.net/problem/13549문제 요약수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N에 있고, 동생은 점 K에 있다. 수빈이의 위치가 X일 때, 세 가지 동작 중 한 가지를 할 수 있다. 1. X + 1로 1초 후에 이동한다.2. X - 1로 1초 후에 이동한다.3. X × 2로 즉시 이동한다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간을 출력한다.코드#include #include #include #include #include using namespace std;int N, K;// dist[i]: n에서 i로 이동하는데 걸리는 최소 시간int dist[100010];bool visited[100010];p.. [백준/C++] 25682번: 체스판 다시 칠하기 2 문제https://www.acmicpc.net/problem/25682문제 요약검은색과 흰색 칸으로 이루어진 M × N 크기의 보드가 주어진다. 주어진 보드판을 K × K 크기로 잘라 체스판을 만들려고 할 때, 필요한 최소 색칠 횟수를 출력한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다.코드#include #include #include #include using namespace std;int n, m, k;char board[2020][2020];// (0, 0)이 B 또는 W인 체스판으로 만들 때, 칠해야 하면 1, 아니면 0int b_board[2020][2020];int w_board[2020][2020];int prefix_b[2020][2020];int prefix_w[2020].. 이전 1 ··· 5 6 7 8 9 10 11 ··· 52 다음