Hyuk(199)
-
[백준 2467번] 용액
소스코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include using namespace std; int n;long long num[100001], Min = 9876543210, result_a, result_b; int main() { cin >> n; for (int i = 0; i > num[i]; } for (int i = 0; i = 1) { int mid = (l + r) / 2; if (num[mid] == (-1 * num[i])) { idx = mid; break; } else if (num[mid] (-1 * num[i])) { r = mid; } idx = mid; } i..
2017.07.23 -
[백준 10971번] 외판원 순회 2
소스코드1. DFS1234567891011121314151617181920212223242526272829303132333435363738394041#include using namespace std; int n, map[11][11], visit[11], Min=98765432,cnt=0; void dfs(int first, int a, int sum) { if (cnt == n && first == a) { if (Min > sum) { Min = sum; } return; } for (int i = 0; i > n; for (int i = 0; i map[i][j]; } visit[i] = 0; } for (int i = 0; i
2017.07.23 -
순열 알고리즘 (Permutation)
1234567891011121314151617181920212223242526272829303132#include using namespace std; #define swap(a,b,tmp) tmp=a; a=b; b=tmp; int n,num[1001],tmp; void perm(int* num, int start, int end) { if (start == end) { for (int i = 0; i
2017.07.18 -
[백준 10844번] 쉬운 계단 수
풀이DP로 풀면 풀수있는 문제 일일이 경우의수를 써보면 규칙이있다. 1일때 1 1 1 1 1 1 1 1 12일때 2 2 2 2 2 2 2 2 13일때 2 4 4 4 4 4 4 3 2 소스코드123456789101112131415161718192021222324252627282930313233#include using namespace std; int main() { int n, num[11], copy[11]; long long sum=0; cin >> n; num[10] = 0; for (int i = 0; i
2017.07.13 -
[백준 1261번] 알고스팟
풀이BFS 해결가능하리라 보았지만 조금의 트릭이 있다. 벽을 만났을 경우 큐의 맨끝에 삽입하고 길을 만났을 경우에는 큐의 맨앞에 삽입해주어 길을 만나는 경우에 우선순위를 먼저 두어야한다. 오른쪽으로 한칸가서 벽이면 큐의 맨끝에 삽입 길이면 큐의 맨앞에 삽입 왼쪽으로 한칸가서 벽이면 큐의 맨끝에 삽입 길이면 큐의 맨앞에 삽입 위쪽으로 한칸가서 벽이면 큐의 맨끝에 삽입 길이면 큐의 맨앞에 삽입 아래쪽으로 한칸가서 벽이면 큐의 맨끝에 삽입 길이면 큐의 맨앞에 삽입 이순서대로 풀어야 우선순위에 맞게 길을찾는다. 벽을 최소한으로 부숴야하기때문에 길이 있다면 길로 먼저 갈수있도록 해주어야한다. 소스코드1234567891011121314151617181920212223242526272829303132333435363..
2017.07.13 -
[백준 2580번] 스도쿠
풀이백트래킹이란 모든 경우의수를 모두 탐색하는 것을 뜻한다. 스도쿠에서도 모든 경우의수를 1~9까지 다돌릴수있지만 다돌리게 되면 시간초과가 뜰수도 있다. 그래서 확인해야할 번호만 체크해서 돌려보는게 이문제의 포인트이다. 가로를 체크하는 배열, 세로를 체크하는 배열, 영역을 체크하는 배열 총3개를 만들어서 1~9까지 확인해보고 없는 숫자를 체크해두었다가 하나씩 넣어보면 된다. 소스코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172#include using namespace std; int map[10][10];in..
2017.07.13