728x90 전체 글86 c++ 백준_14938_"서강그라운드" https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net floyd 알고리즘을 사용해 각 지점에서 각 지점까지의 최단거리를 다 구해서 갈 수 있는 방향에 item 개수를 더하였다. #include #include using namespace std; #define INF 1000000000 int path[101][101]; int item[101]; int n, m, r; void floyd() { for (int k = 1; k > m >> r; .. 2023. 6. 9. c++ 백준_12851_"숨바꼭질 2" https://www.acmicpc.net/problem/12851 BFS를 활용하여 풀었다. 보통 BFS를 하면 방문 체크를 하는데 목적지에 도착한 경우의 수까지 해야하니 거리를 담은 배열을 하나둬 해당 좌표의 배열칸에 저장된 거리 이하인 것들만 queue에 담았다. * 몇번 시도했을 때 자꾸 안되길래 보니 N == K 일 때, 이때까지 0, 0이 나왔었다. 시간은 0 초이더라도 경우의 수는 하나의 경우기 때문에 0, 1 이 나와야했다. #include #include #include using namespace std; #define INF 1000000 #define MAX_SIZE 200001 int N, K; int nOfCase; int dist[MAX_SIZE]; int fas.. 2023. 6. 9. c++ 백준_15666_"N과 M(12)" https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 중복 제거를 위해 string과 set을 활용하려 했다. 근데 string을 사용하니 1 11 1111 111 과 같을 때 잘 돌아가지 않았다. 그래서 vector 와 중복 방지를 위한 set을 활용하여 해결하였다. #include #include #include #include using namespace std; int N, M; int number[8]; set st; void.. 2023. 6. 9. c++ 백준_2448_"별 찍기 - 11" https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net * 다른 사람 풀이가 더 깔끔해서 다른 사람들 거 보는게 나을 듯 하다. 일단 처음에는 삼각형 하나 그리고 삼각형 바닥의 양쪽 끝, 오른쪽, 왼쪽 좌표를 넘기고 또 다음 그렇게 넘겨서 그리니까 시간초과가 떴다. 그래서 하나의 삼각형을 그려놓고 다음 stage에서는 이 그린 삼각형을 복사했다. 복사가 되면 또 하나의 삼각형이 되는데 이걸 또 복사한다. 그리고 연두색 큰 삼각형을 다시 복사한다. 규칙은 3 * 2^K 라는.. 2023. 6. 9. c++ 백준_13172_"Σ" https://www.acmicpc.net/problem/13172 13172번: Σ 모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다. www.acmicpc.net * 정확한 풀이는 아닙니다. 우연히 맞춰서 얼떨떨하네 문제 양, 내용 미쳤다 풀기 껄끄러웠는데 CLASS 4 다 해보고싶어서 억지로 잡고 읽어봤다. 진짜 문제만 40분 가까이 읽은 거 같다. 그래도 많은 문제에서 나온 1000000007 의 기원에 대해 조금은 알은 듯하다. 아주 조금 그래도 이해가 안돼서 대충 하나하나 엮어가봤다. 1. 일단 S/N 모양의 더하기 집합 형태라는 것 2. a/b 이면, a x b^-1m.. 2023. 6. 9. c++ 백준_11054_"가장 긴 바이토닉 부분 수열" https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 입력 크기가 크지 않아서 N^2 복잡도가 걸리는 DP 방식을 사용해 각 요소 마다 가장 긴 부분 수열의 길이를 저장했다. 올라갔다가 감소하는 형태니까 결국에는 한번은 앞에서 증가하는 부분 수열을 찾고 한번은 뒤에서 증가하는 부분 수열을 찾으면 되었다. 그래서 구한 각각의 가장 긴 부분 수열의 길이가 저장된 배열 2개의 같은 index끼리의 합이 가장 큰 것을 반환하였다. 그리고 가장 긴 부분 수열이 중첩돼.. 2023. 6. 9. 이전 1 ··· 10 11 12 13 14 15 다음 728x90