알고리즘/solved.ac

    [class4] (백준 10830) 행렬 제곱

    알고리즘 분할 정복, 분할 정복을 이용한 거듭제곱 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include long long matrix[6][6]; long long currentMatrix[6][6]; long long N, B; using namespace std; void CalMatrix(long long m1[6][6], long long m2[6][6]) { long long tempArr[6][6]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { tempArr[i][j] = 0; for (int k = 0; k < N; k++) { tempArr[i][j] += (m1[i][k]) * (m2[k][..

    [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] (백준 2448) 별 찍기 - 11

    알고리즘 재귀, 분할정복 [문제 본문] 더보기 HTML 삽입 미리보기할 수 없는 소스 [푼 코드] #include using namespace std; #define MAXNUM 3072 char arr[MAXNUM][MAXNUM * 2]; int N; void draw(int x, int y, int n) { if (n == 3) { arr[y][x] = '*'; arr[y + 1][x - 1] = '*'; arr[y + 1][x + 1] = '*'; for (int i = x - 2; i > N; for (int i = 0; i < N; i++) { for (int j = 0; j < N*2; j++) { arr[i][j] = ' '; } } draw(N - 1, 0, N); for (int i = ..

    [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..

    [class4] (백준 1043) 거짓말

    HTML 삽입 미리보기할 수 없는 소스 #include #include #include #define MAXNUM 51 using namespace std; struct PartyPeople { int num; int people[MAXNUM] = {0}; }; int n, m; int knownNum; int result = 0; set knownPeople; vector v; bool CheckAble(PartyPeople pp) { for (auto iter = knownPeople.begin(); iter != knownPeople.end(); iter++) { for (int i = 0; i < pp.num; i++) { if (*iter == pp.people[i]) { return false..