C 프로그래밍
-
[백준 3055] 탈출C 프로그래밍/BOJ 2022. 9. 28. 21:30
https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net #include #include int R, C; char forest[50 + 2][50 + 2]; int visited[50 + 2][50 + 2]; struct _st { int type;// 홍수 -1 고슴도치 1 int x; int y; int cnt; }; int dx, dy;// 비버굴 int sx, sy;// 고슴도치 위치 std::queue Q; void input() { scanf("%d %..
-
[백준 11559] 뿌요뿌요C 프로그래밍/BOJ 2022. 9. 28. 20:49
https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net #include #include #include #include char board[12 + 2][6 + 2]; struct _st { int x, y; }; std::vector V; std::queue Q; int visited[12 + 2][6 + 2]; void input() { for (int i = 0; i < 12; i++) { scanf("%s", &boar..
-
[백준 2589] 보물섬C 프로그래밍/BOJ 2022. 9. 27. 20:28
https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net #include #include int N, M; char map_char[50 + 2][50 + 2]; struct _st { int x; int y; int cnt; }; std::queue Q; int visited[50 + 2][50 + 2]; void input() { scanf("%d %d", &N, &M); for (int i = 0; i < N; i++) { scanf("%s", &ma..
-
[백준 2467, 2470] 용액, 두 용액C 프로그래밍/BOJ 2022. 9. 26. 20:14
https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net #include #include #include..
-
[백준 2812] 크게 만들기C 프로그래밍/BOJ 2022. 9. 26. 19:28
https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include using namespace std; int N, K; string in_str; string ans; stack stk; void input() { cin >> N >> K; cin >> in_str; } void get_max() { int cnt = K; for (int i = 0; i 0 && stk.top() < in_str[i]..
-
[백준 2206, 14442, 16933] 벽 부수고 이동하기 1, 2, 3C 프로그래밍/BOJ 2022. 9. 25. 11:49
[백준 2206] 벽 부수고 이동하기 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 큐를 사용한 코드는 아래와 같다. 더보기 // Q : 12304kb76ms #include #include int N, M, K; char board[1000 + 2][1000 + 2]; int visited[1000 + 2][1000 + 2][2];// 0 벽을 안부수고 간다 1 벽을 부수고 간다. struct _qt { int x,..
-
[백준 2250] 트리의 높이와 너비C 프로그래밍/BOJ 2022. 9. 22. 21:02
https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net //1800kb664ms #include #include #include int N; int child[10000 + 2]; int root; int col_cnt; int row_cnt; int max_len; int depth; struct _st { int l;// 왼쪽 int r;// 오른쪽 int row;// 행번호 int col;// 열번호 }; using namesp..
-
[백준 1068] 트리C 프로그래밍/BOJ 2022. 9. 22. 19:41
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net #include #include int N; int P[50 + 2]; int D; int visited[50 + 2]; int root; std::list Tree[50 + 2]; void input() { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &P[i]); if (P[i] == -1) root = i; else Tree[..