목록전체 글 (226)
득이공간
15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #include using namespace std; int N, M; void DFS(int Sequence[], int Index, int Number) { if (Index == M) { for (int i = 0; i < M; ++i) { cout M; int Sequence[8]; DFS(Sequence, 0, 1); } DFS & 백트래킹을 이용해서 푸는 문제입니다. 1부터 N까지 각 숫자를 고를 때와 안 고를 때를 DFS로 탐색하도록 하고, 현재 숫..
해당 게시물은 이득우 교수님의 '언리얼 게임 프레임웍의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 5장. 언리얼 게임의 완성 5-1. 헤드업디스플레이의 구현 5-2. 게임플로우 다듬기 5-3. 게임의 완성 📌 5-1. 헤드업디스플레이의 구현 1. 플레이어 컨트롤러에서 헤드업디스플레이의 생성과 표시 2. 컴포넌트, 액트, 위젯의 초기화 프로세스의 이해 3. 언리얼 리플렉션을 활용한 UI 데이터의 유연한 연동 * 이번 강의에서 다룬 게임프레임웍 기능 - 플레이어: HUD * 헤드업디스플레이의 생성 과정 - 헤드업디스플레이(HUD): 플레이어 컨트롤러에 의해 제작되고 관리되는 UI 객체 - HUD의 구현은 위젯을 생성하고 이를 플레이어 뷰포트에 띄우는 과정으로 생성된다. -..
16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net #include #include using namespace std; int Depth[101]; bool Visited[101]; int Event[101]; queue SearchQueue; int BFS(int Start, int End) { SearchQueue.emplace(Start); Depth[Start] = 0; while (!SearchQueue.empty()) { int Current = Searc..
14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net #include using namespace std; int N, M; int Paper[500][500]; const int Tetromino[19][3][2] = { { { 1, 0 }, { 2, 0 }, { 3, 0 } },// 1-1 { { 0, 1 }, { 0, 2 }, { 0, 3 } },// 1-2 { { 1, 0 }, { 0, 1 }, { 1, 1 } },// 2 { { 1, 0 }, { 2, 0 }, { 2, -1 } },// 3-1 { { 1, ..
10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net #include using namespace std; int N; char Color[100][100]; bool Visited[100][100]; bool Visited2[100][100]; int DX[4] = { -1, 0, 1, 0 }; int DY[4] = { 0, -1, 0, 1 }; void DFS(int X, int Y) { Visited[Y][X] = true; for (int i = 0; i < 4; ++i) { int NX = X + D..
9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net #include #include #include using namespace std; string Command[10000]; bool Visited[10000]; queue SearchQueue; void InitContainers() { for (int i = 0; i < 10000; ++i) { Command[i] = ""; Visited[i] = false; } while (!SearchQueue.empty()) { SearchQueue.po..
7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net #include #include #include using namespace std; unordered_map CheckNum; priority_queue MaxHeap; priority_queue MinHeap; void Input(int Number) { ++CheckNum[Number]; MaxHeap.emplace(Number); MinHeap.emplace(Number); } void DeleteMax() { if (!MaxHeap.empty()) ..
7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net #include #include #include using namespace std; typedef tuple Coord; int Box[100][100][100]; int Day[100][100][100]; int M, N, H; int DX[6] = { -1, 1, 0, 0, 0, 0 }; // Left, Right int DY[6] = { 0, 0, -1, 1, 0, 0 }; // Top, Bottom int DZ[6] = { 0, ..
5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net #include #include #include using namespace std; deque Sequence; void Test() { int N; string P, Input; cin >> P >> N >> Input; int Prev = 1; int Next = Input.find(','); while (Next != string::npos) { string Sub = Input.substr(Prev, Next - Prev); Sequence.push_back(stoi(Sub)); Prev = Next + 1;..
1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net #include #include using namespace std; int N, M, C; bool Broken[10]; bool IsPossible(string CurrentChannel, int Size) { for (int i = 0; i < Size; ++i) { int Number = CurrentChannel[i] - '0'; if (Broken[Number]) { return false; } } return true; } int ..