본문 바로가기

C++16

[백준 1476/c++] 날짜 계산 자바스크립트로 풀어보려고 몸을 비틀며 쇼를 했지만... 애초에 문제가 node.js 로는 풀 수 없는 문제라고 한다 아이고야... 그래서 그냥 오랜만에 c++로 풀어보았다 역시 c++ 은 채점부터가 순식간이다 와우 https://www.acmicpc.net/board/view/32852 글 읽기 - nodeJS는 변수선언만해도 메모리 초과가 나네요. 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmi.. 2022. 8. 26.
[백준 4179/c++] 불! 이전의 BFS 문제와는 다르게 입력이 숫자가 아닌 문자열이고 불의 전파된 곳으로는 가지 못하는데 불도 지훈이와 같은 속도로 전파될 경우, 범위 밖으로 탈출해야 한다는 조건이 붙은 문제이다 문자열이므로 보드를 문자열을 담을 1차원 배열로 만들고, 각 좌표에서의 불의 거리를 우선 체크하고, 각 좌표에서의 지훈이의 거리가 더 작아야만 이동가능하도록 조건을 설정, 이동 중 가장 빠르게 범위 밖으로 나갈 수 있을때의 거리를 구하면 되는 문제이다 https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 .. 2022. 8. 11.
[백준 7569/c++] 토마토 이전 7576 번 토마토 문제에서 3차원 배열이란 점만 달라진 문제 3차원 배열과 tuple 을 사용해서 z축을 구현하였다 풀이 자체는 이전 토마토와 같은 BFS 방식이다 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net #include using namespace std; int n, m, h; int board[104][104][104]; int dist[104][104][104]; int dz[6] = {0, 0, 0.. 2022. 8. 10.
[백준 1926/c++] 그림 BFS 의 대표 기본 문제 칠해졌는지 아닌지를 판단하기 위해 2차원 보드에 값을 넣어 확인하고 이전에 방문 여부를 위해 보드 크기만큼의 visited 배열을 만들어 확인, 이동 가능 하다면 그 좌표를 큐에 넣고, 방문제크 한 후 큐에서 좌표를 하나씩 빼가며, 뺀 것을 체크할 현재 좌표라 하고, 현재 좌표에 이동가능한 상하좌우 범위를 2개의 배열을 사용해서 이동 후의 4개의 좌표 값을 구현, 이동 후의 좌표 값이 범위 밖이거나, 칠해지지 않았는지의 예외 조건이 아니라면 그 예상 좌표를 방문처리하고 큐에 넣어 계속 진행해나간다 그림의 수는 전체 2차원 보드를 이중 for문으로 하나씩 돌며, 칠해졌는데 방문하지 않은 것들을 위의 과정으로 체크해나가면서 파악하면 된다. 칠해진 영역의 수는 BFS 중에 큐에 들어.. 2022. 8. 7.