알고리즘

    [다익스트라] (백준 5972) 택배 배송

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #define MAXNUM 50001 #define INF 987654321 using namespace std; int N, M; vector v[MAXNUM]; int d[MAXNUM]; int Solved(int start, int end) { priority_queue pq; d[start] = 0; pq.push({ 0,start }); while (!pq.empty()) { int cost = -pq.top().first; int cur = pq.top().second; pq.pop(); for (auto iter = v[cur].begin(); iter..

    [그리디] (백준 1080) 행렬

    알고리즘 그리디 알고리즘 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include using namespace std; int N, M; int arr[51][51]; int goal[51][51]; int Solved() { bool isCheck = false; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { if (arr[i][j] != goal[i][j]) { isCheck = true; break; } } if (isCheck) break; } if (!isCheck) return 0; if (N < 3 || M < 3) { return -1; } int result = 0; for (int i = 0; ..

    [class4] (백준 11779) 최소비용 구하기 2

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #include #define INF 987654321 using namespace std; struct Road { int goal; int time; }; int N, M, X; vector v[1001]; int d[1001]; int route[1001]; void Solved(int start, int goal) { priority_queue pq; for (int i = 1; i time goal]) { d[iter->goal] = time + iter->time; route[iter->goal] = current; pq.push({ -..

    [class4] (백준 1238) 파티

    알고리즘 다익스트라, 우선순위 큐 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #define INF 987654321 using namespace std; struct Road { int goal; int time; }; int N, M, X; vector v[1001]; int d[1001]; int Solved(int start, int goal) { priority_queue pq; for (int i = 1; i time goal]) { d[iter->goal] = time + iter->time; pq.push({ -(time + iter->time),iter->goal }); } } } return ..

    [class4] (백준 11054) 가장 긴 바이토닉 부분 수열

    알고리즘 dp [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include using namespace std; int N; int arr[1001]; int dp[1001][2]; // [n][0]에 오름차순 [n][1]에 내림차순 int Solved() { //오름차순 for (int i = 0 ; i = i; j--) { if (arr[j] < arr[i] && dp[i][1] < dp[j][1] + 1) { dp[i][1] = dp[j][1] + 1; } } } int result=0; for (int i =..

    [class4] (백준 17144) 미세먼지 안녕!

    알고리즘 구현 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include using namespace std; struct Pos { int x; int y; }; int R, C, T; int arr[51][51]; int tempArr[51][51]; Pos AirRefresher[2]; int dx[4] = { -1,1,0,0 }; int dy[4] = { 0,0,-1,1 }; bool IsRange(int x, int y) { if (x = C || y = R) { return false; } return true; } void diffuseAir() { queue q; for (int y = 0; y < R; y+..