solved.ac

    [다익스트라] (백준 9370) 미확인 도착지

    알고리즘 다익스트라 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include #include #include #define MAXNUM 2001 #define INF 987654321 using namespace std; int n, m, t; int s, g, h; vector v[MAXNUM]; vector goal; int dp[MAXNUM]; void Solved(int start) { for (int i = 1; i second; int i_cur = iter->first; if (dp[i_cur] > dp[cur] + i_cost) { dp[i_cur] = dp[cur] + i_cost; pq.push({ -dp[i_cur],i_cur }); }..

    [다익스트라] (백준 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..

    [class4] (백준 9935) 문자열 폭발

    알고리즘 자료구조, 문자열, 스택 문자열을 스택처럼 pop_back 연산하여 풀었습니다. [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(); cout.tie(); string str, bomb, result = ""; cin >> str; cin >> bomb; int bombNum = bomb.length() - 1; for (int i = 0; i < str.length(); i++) { result += str[i]; if (result[result.length() - 1] == bomb[bombNum]) { if ..

    [class4] (백준 2096) 내려가기

    HTML 삽입 미리보기할 수 없는 소스 #include #include #define MAXNUM 987654321 using namespace std; struct Pos { int min = MAXNUM; int max; }; int N; int minNum = MAXNUM; int maxNum = -1; Pos arr[2][3]; int dx[3] = { -1,0,1 }; vector v; bool IsRange(int x) { return (x >= 0 && x < 3); } void CalculLine(int input[3]) { bool isCheck; for (int i = 0; i < 3; i++) { isCheck = false; for (int j = 0; j < 3; j++) { in..

    [class4] (백준 1504) 특정한 최단 경로

    HTML 삽입 미리보기할 수 없는 소스 #include #include #include #define MAXNUM 801 #define INF 987654321 using namespace std; struct Info { int goal; int value; }; int arr[MAXNUM][MAXNUM]; int dp[MAXNUM]; vector v[MAXNUM]; int N, E; void ResetDP(int start) { queue q; for (int i = 1; i goal] > dp[currentNum] + iter->value) { dp[iter->goal] = dp[currentNum] + iter->value; q.push(iter->goal); } } } } int Solve(in..