본문 바로가기

코딩/알고리즘

(67)
백준 2740 행렬 곱셈 #include #include using namespace std; int N, M, K; int arrA[100][100]; int arrB[100][100]; int arrResult[100][100]; void consoleInput() { scanf("%d %d", &N, &M); for (int i = 0; i < N; i++) for (int j = 0; j < M; j++) scanf("%d", &arrA[i][j]); scanf("%d %d", &M, &K); for (int i = 0; i < M; i++) for (int j = 0; j < K; j++) scanf("%d", &arrB[i][j]); return; } void printArr(int arr[100][100], int ..
백준 6549 히스토그램에서 가장 큰 직사각형 #include #include #include using namespace std; int n; int height[100002]; stack highestIndexStack; int main() { while (true) { scanf("%d", &n); if (n == 0) return 0; for (int i = 0; i < n + 2; i++) height[i] = 0; for (int i = 1; i result) result = nowArea; } } highestIndexStack.push(i); now++; } cout
백준 1780 종이의 개수 #include #include using namespace std; int paper[2188][2188]; int n; int result[3]; //-1, 0, 1 void consoleInput() { cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &paper[i][j]); } } return; } int checkSameNum(int i_begin, int i_end, int j_begin, int j_end) { int start; start = paper[i_begin][j_begin]; for (int i = i_begin; i
백준 11004 K번째 수 #include #include using namespace std; int arr[5000000]; int main() { int n, k; cin >> n >> k; int num = 0; for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } sort(arr, arr + n); cout
[C#] 백준 2749 피보나치수 3 using System; using System.Collections.Generic; namespace CsharpConsoleApplication { class Matrix { public static int mod = 1000000; public long[,] mat = new long[2,2]; public void setMat(long i0, long i1, long j0, long j1) { mat[0,0] = i0; mat[0,1] = i1; mat[1,0] = j0; mat[1,1] = j1; } public Matrix(long i0, long i1, long j0, long j1) { setMat(i0, i1, j0, j1); } public static Matrix operator*(M..
백준 9252 LCS2 #include #include #include #include using namespace std; char s1_arr[1001]; char s2_arr[1001]; int memo[1001][1001]; int main() { cin >> s1_arr >> s2_arr; int s1Size = strlen(s1_arr); int s2Size = strlen(s2_arr); for (int i = 1; i
백준 1932 숫자삼각형 #include #include using namespace std; int triangle[501][501]; int dp[501][501]; int triSize; int solve(int i, int j) { int& ret = dp[i][j]; if (ret > -1) return ret; if (i == triSize - 1 && j == triSize - 1) return ret = triangle[i][j]; return ret = max(solve(i + 1, j), solve(i + 1, j + 1)) + triangle[i][j]; } int main() { cin >> triSize; for (int i = 0; i < triSize; i++) for (int j = 0; j < tr..
백준 9461 파도반수열 #include #include using namespace std; long long p[101]; int main() { p[0] = 1; p[1] = 1; p[2] = 1; p[3] = 2; p[4] = 2; for (int i = 5; i > testcase; while (testcase > 0) { testcase--; int n = 0; cin >> n; cout