C 프로그래밍/BOJ
-
[백준 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
-
[정올 1141] 불쾌한 날(Bad Hair Day)C 프로그래밍/BOJ 2022. 8. 31. 20:10
http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1141&sca=99 JUNGOL www.jungol.co.kr #include #include #include // 스택 라이브러리 활용 int N; int cow[80000 + 10]; long long total;// int 범위를 넘길 수 있다. std::stack stk; void input(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &cow[i]); } } void bad_hair(void) { stk = {};// 스택 초기화 for (int i = 0; i < N; i++) { while (!stk.empty() && ..
-
[백준 15961] 회전 초밥C 프로그래밍/BOJ 2022. 8. 29. 20:40
https://www.acmicpc.net/problem/15961 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net #include int N, d, k, c;// 접시수, 가짓수, 연속, 쿠폰번호 int lookup[3000 + 2]; int plate[3000000 + 2]; void input() { scanf("%d %d %d %d", &N, &d, &k, &c); for (int i = 0; i < N; i++) { scanf("%d", &plate[i]);..
-
[백준 15686] 치킨 배달C 프로그래밍/BOJ 2022. 8. 28. 01:45
++22.11.08 갱신 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net #include #include #include #include int N, M; int board[50 + 2][50 + 2]; struct _st { int x, y; }; std::queue Q; int visited[50 + 2][50 + 2]; std::vector Chk; int choice[13 + 2]; int chk_cnt; int a..
-
[백준 10026] 적록색약C 프로그래밍/BOJ 2022. 8. 27. 14:29
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net #include #include #include int N; char pic_for_diff[100 + 10][100 + 10];// 적록색약이 아닌 사람 char pic_for_same[100 + 10][100 + 10];// 적록색약인 사람 int diff[100 + 10][100 + 10];// 적록색약이 아닌 사람의 방문 표시 int same[100 + 10][100 + 10];//..
-
[백준 2583] 영역 구하기C 프로그래밍/BOJ 2022. 8. 27. 14:11
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net #include #include int M, N, K; int point[100 + 10][4 + 2]; int board[100 + 10][100 + 10]; int area_cnt;// 영역의 개수 int area[100 + 10];// 각 영역의 넓이 int tmp; int dir_x[4] = { 0, 0, 1, -1 }; int dir_y[4] = { 1, -1, 0, ..
-
[백준 1012] 유기농 배추C 프로그래밍/BOJ 2022. 8. 25. 03:02
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include int T; int M, N, K; int cabbage[50 + 10][50 + 10]; int bug_cnt; int dir_x[4] = { 0, 0, 1, -1 }; // 방향벡터 int dir_y[4] = { 1, -1, 0, 0 }; // 어차피 상하좌우 스캔이므로 순서 중요하지 않음 void init(void)// 테스트케이스가 여러개 이므로 초기화 { for (int i = 0; ..