일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 생활코딩
- 외판원 순회
- 다이나믹 프로그래밍
- 성화봉송주자
- 언어의 온도
- BFS
- 비트마스크
- 다음 API
- DP
- boj
- 인간이 그리는 무늬
- 그리디 알고리즘
- 위상정렬
- BOJ 2098
- 백트레킹
- 이분탐색
- MST
- lower_bound
- 다음 지도 api
- yolo
- 캘리그라피
- 안드로이드 스튜디오
- upper_bound
- 성화봉송
- 영어회화 100일의 기적
- 평창동계올림픽
- 삼성 코딩테스트
- 창훈쓰다
- Segment Tree
- multiset
- Today
- Total
목록코딩 (164)
Hoon222y
https://www.acmicpc.net/problem/10816해당 문제는 주어진 N개(1
123456789101112#include #include using namespace std;int main() { char c; while ((c = getchar()) && c != EOF) { printf("%c",c); } return 0;} Colored by Color Scriptercs이렇게 입력을 받으면
이 문제를 풀기전에 이분그래프가 무엇인지 먼저 설명을 하도록 하겠다.이분 그래프란 위 그림처럼 A,B처럼 반반으로 나눌수 있는 그래프를 말한다. 즉, 모든 간선의 끝이 한쪽은 A 한쪽은 B에 속하는 그래프를 말한다.이분 그래프를 단순히 구현하는 문제가 바로 https://www.acmicpc.net/problem/1707 이다.해당 문제의 경우 bfs혹은 dfs를 통하여 방문하는 지점의 점수를 각각 1,2로 다르게 준 후 마지막에 비교를 하면 된다. 그리하여 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include #incl..
위상정렬 (Topological sort) 이란 어떠한 일을 하는 순서를 결정해주는 정렬이라고 할 수 있다. 간단하게 생각해보면 일의 우선순위를 결정하는 것이다.코드로 살펴보도록 하자 1234567891011121314151617181920212223242526272829for(int i=0;i
123456789void eratos(){ for (int i = 2; (i*i)
https://www.acmicpc.net/problem/2156일렬로 있는 포도주를 일정 규칙에 따라서 마실 때 최대로 마실 수 있는 양을 구하는 DP문제이다. 123456789101112131415161718192021222324252627282930313233343536373839404142#include #include #include using namespace std;int n;int dp[3][22222];int arr[22222];int main(){ memset(dp,0,sizeof(dp)); memset(arr,0,sizeof(arr)); scanf("%d" , &n); for(int i=1;i
보통 코드를 올리게 되면 복붙을 하는데 그럼 툴에 따라 다르게 복붙되는 경우가 있고, 깔끔하지도 않은편이다...따라서 https://colorscripter.com 를 이용한 코드 업로드 방법에 대해 설명을 하겠다.1) 접속을 한다. 2) 언어와 스타일패키지, 배경을 설정해준다.3) 작성한 코드를 이쁘게 복붙한다.4) "클릭보드에 복사" 를 클릭하고 작성중인 블로그에 복붙을 하면 된다. ^오^
문제를 풀다보면 https://www.acmicpc.net/problem/7576 처럼 BFS의 횟수를 카운트 해야하는 경우가 생기게 된다.이때 대략적으로 쓸수있는 코드를 정리하자면 1234567891011121314151617181920#include using namespace std; void bfs() { queue qu; qu.push(1); int cnt=0; while (!qu.empty()) { int c = qu.size(); cnt++; //BFS의 반복횟수 count while (c--) { int here = qu.front(); qu.pop(); //각 회차별 작업을 여기서 해준다. } }}Colored by Color Scriptercs 이런식으로 그 회차별 queue의 size..
int find(int val, int node, int x, int y){ if (x == y) return x; if (seg[node * 2] >= val) return find(val, node * 2, x, (x + y) / 2); else return find(val - seg[node * 2], node * 2 + 1, (x + y) / 2 + 1, y); } 이런식으로도 구현을 하더라 ... 개쩐당 ... 은 합을 구하는 문제인데 https://www.acmicpc.net/problem/1321 #include #include #include #include #include #include #include #include #include #include #include #include #d..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include #include #include #include using namespace std;void init(vector &tree, vector &a, int node, int start, int end) { if (start == end) { tree[node] = a[start]; } else { init(tree, a, node*2, start, (start+end)/2); init(tree, a, node*2+1, (start+end)/2+1, end); ..