본문 바로가기

Programming/Algorithm 193

백준 미로탈출 /*미로 탐색*/ #include #include #include using namespace std; int n, m;bool map[100][100];int check[100][100];int dir[4][2] = { {1,0}, {-1,0}, {0,1}, {0,-1} }; struct points {int x, y;}; void problemIn() {cin >> n >> m;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {int b;scanf("%1d", &b);if (b == 1) {map[i][j] = true;}}}} int bfs() {int cur_y = 0;int cur_x = 0; queue que;que.push({ cur_x,.. 2018. 2. 1.
백준 동전1 #include #include using namespace std; int main() {int n, k;int coins[101];int d[10001] = { 0 }; cin >> n >> k;for (int i = 1; i > coins[i];} d[0] = 1;for (int i = 1; i 2018. 1. 31.
백준 계단 수 #include #define mod 1000000000int main(void) {int N;int Dp[101][10] = {};int sum = 0;scanf("%d", &N);for (int i = 0; i < 10; i++)Dp[1][i] = 1;for (int i = 2; i 2018. 1. 31.
백준 위상정렬 /*위상정렬이 무엇인가요. 어떤 노드를 방문할 때 반드시 선행 노드가 이미 모두 방문되어야 하는조건을 만족하는 노드 방문 순서를 결정하는 정렬입니다. 위상 정렬 기초에서.위상 정렬 순서대로 노드를 방문하면서 후행 노드의 최소건설시간을 갱신하면 됩니다. 빈 노드에서 큐를 꺼내서 처리하는 과정입니다. 1번 노드의 후행자인 2,3 번 노드이 최소 건설시간을 갱신합니다. 2번 노드를 꺼내서 처리하고, 4,5번 노드가 큐에 새로 들어옵니다. 오께이요.번 노드를 꺼내고 6번 노드가 새로 들어갑니다. */ #include #include #include #include #include using namespace std; int main() {int T;cin >> T;for (int t = 0; t < T; t++.. 2018. 1. 31.
백준 디피 1만들기 #include int Dp[1000001]; int min(int a, int b) {return a > b ? b : a;} int main(void) { int N;scanf("%d", &N); Dp[1] = 0; for (int i = 2; i 2018. 1. 31.
백준 계단 /*점화식 구현 뒤에서 부터 계산하는 것 맞습니다.? 먹 엑스 먹? 먹 엑 먹 먹 이렇게 풀어 쓸수가 있구나. 오케이요.*/ #include using namespace std; int n, stair[301];int dp[301]; int Max(int a, int b) {return a > b ? a : b;} int main() {cin >> n;for (int i = 0; i > stair[i];} dp[0] = stair[0];dp[1] = Max(stair[0] + stair[1], stair[1]);dp[2] = Max(stair[0] + stair[2], stair[1] + stair[2]); for (int i = 3; i < n; i++) {dp[i] = M.. 2018. 1. 31.
백준 삼각형 최대합 /*맨 위층 아래층으로 내려올 때, 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하세요. 대각선왼쪽 또는 대각선오른쪽에 있는 수를 선택가능합니다. 삼각형의 크기는 1이상 500이하.오케이 삼각형의 크기가 주어지고 오케이 이것은 구현가능합니다. */ #include #include using namespace std;int N;int numArr[501][501];int d[501][501];int maxVal=0; void problemIn() {cin >> N;for (int i = 1; i numArr[i][j];}}}/* i= 3 j =2 */void solve() {for (int i = 1; i 2018. 1. 30.
백준 팩토리얼 0의 개수 #include int main(){int n;int two = 0, five = 0;int i; scanf("%d", &n); for (i = 2; i 2018. 1. 30.
백준 피보나치 수열 /*백준 피보나치 수열 3*/ #include using namespace std;const int mod = 1000000;const int p = mod / 10 * 15;int fibo[p] = { 0,1 };int main() {long long n;cin >> n;for (int i = 2; i < p; i++) {fibo[i] = fibo[i - 1] + fibo[i - 2];fibo[i] %= mod;}cout 2018. 1. 30.
백준 피보나치 수열 #include using namespace std; int Fibonacci(int n) {int arr[3] = { 0,1,1 };for (int i = 2; i > num;cout > n;}void solution() {if (n -1) return cache[n];cache[n] = recursive(n - 2) + recursive(n - 1);re.. 2018. 1. 29.