c

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1655번: 가운데를 말해요

https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net #include // 가운데를 말해요 #include typedef struct { int data; }node; typedef struct { node arr[100001]; int size; }HEAP; void max_push(HEAP* h, int num) { int i; i = ++(h->size); while ((i != 1) && (num > h->arr[i / 2]...

백준[baekjoon]/C언어

백준(baekjoon) [C] - 16401번: 과자 나눠주기

https://www.acmicpc.net/problem/16401 16401번: 과자 나눠주기 첫째 줄에 조카의 수 M (1 ≤ M ≤ 1,000,000), 과자의 수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 과자 N개의 길이 L1, L2, ..., LN이 공백으로 구분되어 주어진다. 과자의 길이는 (1 ≤ L1, L2, ..., LN ≤ 1, www.acmicpc.net #include // 과자 나눠주기 int arr[1000000]; int binary_search(int* arr, int m, int n) { int left = 1, right = 1000000000; int mid, ans = 0; while (left = m) { ans = mid; left = mid ..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 7795번: 먹을 것인가 먹힐 것인가

https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net #include // 먹을 것인가 먹힐 것인가 #include int arr_a[20000]; int arr_b[20000]; int compare(void* first, void* second) { int* a = first; int* b = second; if (*a > *b) return 1; else if (*a < *b) return -..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1300번: K번째 수

https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net #include // K번째 수 #include #define min(a, b) a > b ? b : a long long binary_search(long long n, long long k) { long long left = 1, right = k; long long mid; long long ans = -1; while (left

백준[baekjoon]/C언어

백준(baekjoon) [C] - 1743번: 음식물 피하기

https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net ~~ 1 ~~ #include // 음식물 피하기 #define max(a, b) a > b ? a : b int graph[101][101] = { 0, }; int visit[101][101] = { 0, }; int dx[4] = { 0, 0, 1, -1 }; int dy[4] = { 1, -1, 0, 0 }; int ans = 0; int cnt; ..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 2210번: 숫자판 점프

https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net #include // 숫자판 점프 int graph[5][5]; int visit[1000000] = { 0, }; int dx[4] = { 0, 0, -1, 1 }; int dy[4] = { -1, 1, 0, 0 }; int ans = 0; void dfs(int x, int y, int sum, int cnt) { if (cnt == 5) { // 값..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 5014번: 스타트링크

https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net #include // 스타트링크 #include int ans = -1; int visit[1000001] = { 0, }; typedef struct { long long data; int cnt; struct node* next; }node; typedef struct { node* front; node* rear; int size; }QUEUE; void init_QUEUE(QUEUE* q) { q->f..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 16953번: A --> B

https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A B #define min(a, b) a > b ? b : a int ans = 1000000000; void dfs(long long a, int cnt, long long b) { if (b < a) return; if (a == b) { ans = min(ans, cnt); return; } dfs(a * 2, cnt + 1, b); dfs((a * 10) + 1, cnt + 1, b); } int main() { long long a, b; scanf("%lld %lld..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 2644번: 촌수계산

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net ~~ 1 ~~ #include // 촌수계산 int graph[101][101] = { 0, }; int visit[101] = { 0, }; int cnt = -1; int ans = -1; void dfs(int n, int now, int goal) { visit[now] = 1; cnt++; if (now == goal) { ans = cnt; return; } for ..

백준[baekjoon]/C언어

백준(baekjoon) [C] - 2812번: 크게 만들기

https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include // 크게 만들기 #include #include typedef struct { char* stk; int size; }STACK; int is_empty(STACK* s) { if (s->size stk[(s->size)++] = data; } char top(STACK* s) { int temp = s->size; return s->stk[--temp]; } void pop(STACK* s) { --(s->size); } char str[500001]; ..

_KTH_
'c' 태그의 글 목록 (2 Page)