백준(C, C++) 40

백준 1461: 도서관 [C/C++]

https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 코드 #include #include #include using namespace std; #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int N, M, l, r, ans; vector arr; int main() { fastio(); cin >> N >> M; arr = vector(N); for (int i = 0; i > ar..

백준(C, C++) 2022.06.28

백준 12904: A와 B [C/C++]

https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 코드 #include #include #include #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; string s, t; int ss, tt; int main() { fastio(); cin >> s >> t; ss = s.size() - 1; tt =..

백준 2015: 수들의 합 4 [C/C++]

https://www.acmicpc.net/problem/2015 2015번: 수들의 합 4 첫째 줄에 정수 N과 K가 주어진다. (1 ≤ N ≤ 200,000, |K| ≤ 2,000,000,000) N과 K 사이에는 빈칸이 하나 있다. 둘째 줄에는 배열 A를 이루는 N개의 정수가 빈 칸을 사이에 두고 A[1], A[2], ..., A[N]의 순서로 www.acmicpc.net #include #include #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; long long n, k, cnt, lis[202020], acc[202020]; map m; int main() { fastio(); cin ..

백준 1405: 미친 로봇 [C/C++]

https://www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net #include #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; long double N, w[4]; // 동, 서, 남, 북 int visited[30][30]; // 방문 여부 확인 int dy[4] = {0, 0, 1, -1}; // 동서남북 int dx[4] = {1, -1, 0, ..

백준 1744: 수 묶기 [C/C++], 다이나믹 프로그래밍

https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net #include #include #include #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; int N; vector lis; vector dp; void input(); long long dfs(int i, int val); int main() { fastio(); input(); co..

백준 2668: 숫자 고르기 [C언어], 정보올림피아드

https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net #include int n, cnt, lis[111]; // 입력, 답, 입력 int cycle[111]; // 사이클 유무 int visited[111]; // 1~N 중 방문한 곳 int value[111]; // 입력 값 중 방문한 곳 void dfs(int num) { if (visited[num]) return; // 이미 방문한 곳이면 더 방문할 필요가 없다 visited[..

백준 17070: 파이프 옮기기 1 [C/C++], 삼성 코딩 테스트

https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net #include #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using namespace std; int N; int home[22][22]; // 집 int dp[22][22][3]; // 메모이제이션 void input(); void solve(); int dfs(int y, int x, int w..

백준 12100: 2048(Easy) [C언어], 삼성 코딩 테스트

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net #include int N, ans; int ori[22][22]; // 입력 맵 int map[22][22]; // 이동 맵 int vis[22][22]; // 이미 합쳐진 블록 int res[6]; // 어디로 이동 할 것인 가? void input(); // 입력 void back(int c); // 5번 이동 void move(int n); // 상하좌우 이동 ..

백준 17144: 미세먼지 안녕! [C/C++], 삼성 코딩 테스트

https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net #include using namespace std; #define fastio() ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int N, K, T, purifier, ans; int maps[55][55]; int dy[4] = {1, 0, -1, 0}; int dx[4] = {0, 1, 0, -1}; void input(); void init(); ..