PROGRAMMING
-
(백준 1068번 트리 C++) 라이님 블로그 대회 알고리즘 따라잡기 10) Tree 1PROGRAMMING/알고리즘 2024. 4. 24. 20:22
오늘은 자료구조 Tree에 대해 배워보았씀당ㅎㅎhttps://blog.naver.com/PostView.naver?blogId=kks227&logNo=220788265724&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postList 트리(Tree) (수정: 2018-11-22)안녕하세요. DFS와 BFS를 다루면서 그래프에 대해서 소개해 드렸습니다. 그래프라는 개념은 알고리즘...blog.naver.com 백준 1068번https://www.acmicpc.net/problem/1068 1068번: 트리첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1..
-
(백준 2580번 스도쿠 C++) 라이님 블로그 대회 알고리즘 따라잡기 10) Backtracking 4PROGRAMMING/알고리즘 2024. 4. 18. 20:59
골드 4번 문제도 아직은 버겁다.. 좀 더 노력해보자! 백준 2580번 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net #include #include using namespace std; int arr[9][9]; deque dq; bool checkRow(int x, int y, int num) { for (int j = 0; j < 9; j++) { if (y == j) continue; if (arr[x][j] == num) return..
-
(백준 9663번 N-Queen C++) 라이님 블로그 대회 알고리즘 따라잡기 10) Backtracking 3PROGRAMMING/알고리즘 2024. 4. 16. 08:08
요즘 노코프님 유튭에 가입해서 보는 중인데, N Queens Problem을 쉽게 풀 수 있는 힌트가 담겨있어서 힌트를 사용해서 풀어보았다. 진짜 너무 감사한 분...🌟 시간이 된다면 저의 선생님께 구독과 좋아요 부탁드립니다.. (ㅋㅋㅋㅋ광고아님.. 모르는 분,,) 백준 9663번 https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include using namespace std; constexpr in..
-
(백준 10597번 순열장난 C++) 라이님 블로그 대회 알고리즘 따라잡기 10) Backtracking 2PROGRAMMING/알고리즘 2024. 4. 15. 16:44
강제종료로 해결해버린 문제!ㅋㅋㅋㅋ 백준 10597번 https://www.acmicpc.net/problem/10597 10597번: 순열장난 kriii는 1부터 N까지의 수로 이루어진 순열을 파일로 저장해 놓았다. 모든 수는 10진수로 이루어져 있고, 모두 공백으로 분리되어 있다. 그런데 sujin이 그 파일의 모든 공백을 지워버렸다! kriii가 순 www.acmicpc.net #include #include #include using namespace std; string st; int stsize, M; bool visited[51] = { false }; vector v; void dfs(int curr) { if (curr == stsize) { int mul = 1; for (int i =..
-
(백준 1182번/1759번/1987번 부분수열의 합/암호만들기/알파벳 C++) 라이님 블로그 대회 알고리즘 따라잡기 10) Backtracking 1PROGRAMMING/알고리즘 2024. 4. 15. 15:32
https://blog.naver.com/PostView.naver?blogId=kks227&logNo=220786417910&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postList 백트래킹(Backtracking) (수정 2019-10-09) 탐색 중에서는 가장 마지막으로 쓰는 글이 아닐까 싶습니다. 이제 DFS와 BFS도 익혔으니, 백트래킹(b... blog.naver.com 오늘은 백트레킹에 대해 공부해보았다! 백준 1182번 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ..
-
(백준 7576번 토마토 C++) 라이님 블로그 대회 알고리즘 따라잡기 9) BFS 7PROGRAMMING/알고리즘 2024. 4. 10. 17:33
백준 7576번 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net #include #include using namespace std; class tomato { public: int N, M; vector arr; queue Q; int dir_x[4] = { 0, -1, 1, 0 }; int dir_y[4] = { 1, 0, 0, -1 }; tomato(int M, int N) : M(M), N(N) { arr.resize(N..
-
(백준 6593번 상범빌딩 C++) 라이님 블로그 대회 알고리즘 따라잡기 9) BFS 6PROGRAMMING/알고리즘 2024. 4. 10. 11:42
3차원이라 복잡해보이지만 원리는 동일한 상범빌딩 문제를 풀어보았다. 백준 6593번 https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net #include #include #include using namespace std; constexpr int MAX_N = 31; class Building { public: int L, R, C; pair start, end; int dir_l[6] = { 1, 0, -1, 0, 0, 0 }; int dir_r[6]..
-
(백준 5014번 스타트링크 C++) 라이님 블로그 대회 알고리즘 따라잡기 9) BFS 5PROGRAMMING/알고리즘 2024. 4. 10. 09:53
백준 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 BFS로 풀면 좋을 것 같다는 생각을 가지고 풀면 잘 풀리는 문제! 라이님 블로그를 보니 BFS문제도 분류되어 있어 어렵지 않게 풀었다. #include #include #include using namespace std; class elevator { public: int F, S, G, U, D, MAX_N; vector v; elevator(int F, int S, int G, int U..