C 프로그래밍
-
[백준 3190] 뱀C 프로그래밍/BOJ 2022. 9. 4. 21:02
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net #include #include int N; int K; int board[100 + 2][100 + 2];// 사과 1 빈칸 0 int L; char CMD[10000 + 2]; struct _st { int x, y; }; std::deque S; void input() { scanf("%d", &N); scanf("%d", &K); for (int k = 0; k < K; k++) { int x =..
-
[백준 10655] 마라톤1C 프로그래밍/BOJ 2022. 9. 2. 23:26
https://www.acmicpc.net/problem/10655 10655번: 마라톤 1 젖소 박승원은 2번째 혹은 3번째 체크포인트를 건너뛸 수 있는데, 여기서 두 번째 체크포인트를 건너뛸 경우 경로는 (0,0) -> (11,-1) -> (10,0) 이 되며 거리는 14이다. 박승원은 이것보다 더 짧게 달릴 www.acmicpc.net #include #include int N; struct _st { int x; int y; }points[100000 + 10]; long long int length[100000 + 10]; long long int min = 0x7fffffff; long long total = 0; void input(void) { scanf("%d", &N); for (int..
-
[백준 2428] 표절C 프로그래밍/BOJ 2022. 9. 2. 22:57
https://www.acmicpc.net/problem/2428 2428번: 표절 첫째 줄에 제출한 솔루션의 개수 N이 주어진다. 둘째 줄에는 각 솔루션 파일의 크기 size(F1), size(F2), ..., size(FN)이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ size(Fi) ≤ 100,000,000) 솔루션 파일의 크기는 정수이 www.acmicpc.net #include #include #include int N; double files[100000 + 10]; long long int cnt; void input(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%lf", &files[i]); } } int BS_low..
-
[백준 2805] 나무 자르기C 프로그래밍/BOJ 2022. 9. 1. 21:45
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net #include #include #include int N; long long int M; int tree[1000000 + 10]; void input(void) { scanf("%d %lld", &N, &M); for (int i = 0; i < N; i++) { scanf("%d", &tree[i]); } } int get_tree(void) { std..
-
[백준 8983] 사냥꾼C 프로그래밍/BOJ 2022. 9. 1. 21:01
https://www.acmicpc.net/problem/8983 8983번: 사냥꾼 KOI 사냥터에는 N 마리의 동물들이 각각 특정한 위치에 살고 있다. 사냥터에 온 사냥꾼은 일직선 상에 위치한 M 개의 사대(총을 쏘는 장소)에서만 사격이 가능하다. 편의상, 일직선을 x-축이라 가 www.acmicpc.net #include #include #include int M, N, L;// 사대 수, 동물 수, 사정거리 int base[100000 + 10]; struct _st { int a; int b; }animal[100000 + 10]; int cnt; void input(void) { scanf("%d %d %d", &M, &N, &L); for (int i = 0; i < M; i++) { sca..
-
[정올 2788] 도약C 프로그래밍/BOJ 2022. 9. 1. 20:28
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=2788&sca=99 JUNGOL www.jungol.co.kr // 시간복잡도 O(N^2logN) // 세번째 좌표에 대해서 logN으로 탐색하는 방법 #include #include #include int N; int leaf[1000 + 10]; int ans; void input(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &leaf[i]); } } int BS_lower(int target)// target 값보다 크거나 같은 값 중 가장 작은 값 찾기 { int s = 0; int e = N - 1; int pivot = 0..
-
[백준 1966] 프린터 큐C 프로그래밍/BOJ 2022. 8. 31. 22:46
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net // 방법 1. 우선순위 정렬로 푸는 방법 // 우선순위 종류가 많을 때 적합하다. #include #include #include #include int T; int N, M; int D[100 + 10]; std::queue idx; std::queue docs; void input(void) { scanf("%d %d", &N, &M); for (int i = 0; i < N; i++) { sc..
-
[정올 1328] 빌딩C 프로그래밍/BOJ 2022. 8. 31. 20:43
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1328&sca=3020 JUNGOL www.jungol.co.kr #include #include #include int N;//빌딩수 int H[100000 + 10];//빌딩높이 int sol[100000 + 10];//각 빌딩에서 보이는 빌딩 번호 std::stack idx; std::stack stk; void InputData(void) { scanf("%d", &N); for (int i = 1; i