본문 바로가기

전체 글495

[BOJ]12100번: 2048 (Easy) (c++) https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net dfs로 4방향 탐색하며 보드 기울이기 #include #include #include using namespace std; const int LIMIT = 5; int dr_x[] = {0, 1, 0, -1}; int dr_y[] = {1, 0, -1, 0}; enum {RIGHT, DOWN, LEFT, UP}; int N; struct block { int val;.. 2020. 6. 13.
[BOJ] 13460번: 구슬 탈출 2 (c++) https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net dfs로 최소 이동 횟수 구하기, 비트마스크로 이동가능 방향 바꾸기 #include #include #include using namespace std; int dr_x[] = {0, 1, 0, -1}; int dr_y[] = {1, 0, -1, 0}; unsigned int leftright = (1 N >> M; vector board(N); .. 2020. 6. 13.
20200611_TIL 항목 설명 BOJ 알고리즘 문제풀이 스도쿠 스도미노쿠 알파벳 퇴사 가르침 풀이 새벽 5시에 쓰는 TIL은 YIL인가 TIL인가 낄낄 2020. 6. 12.
[BOJ]1062번: 가르침 (c++) https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 비트마스크 + 백트랙킹 #include #include #include using namespace std; int count(vector& words, int mask) { int cnt = 0; for (int word : words) { // word에 mask에 포함되지 않는 비트가 없다면 카운팅 if ((word & ((1 N >> K; vector words(N); for (in.. 2020. 6. 12.