C 프로그래밍
-
[정올 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; ..
-
[백준 2606] 바이러스C 프로그래밍/BOJ 2022. 8. 24. 02:14
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net #include int N; int c; int computer[100 + 2][100 + 2]; int visited[100 + 2]; int cnt; void input(void) { scanf("%d %d", &N, &c); int v1 = 0, v2 = 0;// 지역변수 초기화해줄것 // 이거 안해주면 틀림 for (int i = 0; i < c; i++) { scanf("%d %d", &v1,..
-
[백준 14889] 스타트와 링크C 프로그래밍/BOJ 2022. 8. 21. 18:15
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net #include #include #include int N; int A[20 + 2][20 + 2];// 능력치 int ans = 0x7fffffff; std::vector S;// 스타트 팀 std::vector L;// 링크 팀 void input() { scanf("%d", &N); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { scanf("%d", &..