일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 언어의 온도
- 성화봉송주자
- 다이나믹 프로그래밍
- yolo
- BFS
- DP
- 비트마스크
- 그리디 알고리즘
- 성화봉송
- 위상정렬
- 다음 지도 api
- Segment Tree
- 영어회화 100일의 기적
- 평창동계올림픽
- lower_bound
- MST
- 백트레킹
- upper_bound
- 생활코딩
- 인간이 그리는 무늬
- multiset
- 삼성 코딩테스트
- boj
- 안드로이드 스튜디오
- 다음 API
- 캘리그라피
- 이분탐색
- 창훈쓰다
- 외판원 순회
- BOJ 2098
- Today
- Total
목록Honey Night (250)
Hoon222y
https://www.acmicpc.net/problem/1194 bfs를 이용하여 문제를 해결하는 문제이다. 해당 문제를 풀때 고민해야하는 점이 있다면 어떤점을 이동할때 , 그리고 방문할때 다른 bfs처럼 visit 처리를 해주어야 하는데 그때마다 어떤 열쇠들을 가지고 있는지 그떄의 열쇠상태를 가지고 있어야 한다는 점이다. 하지만 bfs특성상 while문 내에 키의 상태를 가지고 있는 배열 혹슨 백터들을 가지고 실행한다는 것은 메모리 초과로 이어지게 된다.따라서 이러한 경우 필요한 테크닉은 비트마스크를 이용한 처리이다. 문제의 접근 핵심을 정리하자면 (1) 열쇠는 6종류만 가지고 있다. (2) 어떤 지점을 방문할때 visit처리를 위해 visit배열의 선언을 visit[어떠한 열쇠를 가지고 있는지 비트..
123if(keyy&(1
일단 가장 기본적인 #include 필수 보통 tuple을 사용하는 이유는 3개의 원소를 저장하기 위해서인데 pair와는 함수사용법이 조금 많이 다르다. 123456789101112131415161718192021#include typedef long long ll;#define INF 1e8 using namespace std; int main(){ int a,b,c; cin >>a >>b>>c; priority_queue q; q.push(make_tuple(a,b,c)); auto p = q.top(); q.pop(); int t = get(p); int y = get(p); int u = get(p); cout
비트연산은 &&,||,! 가 아닌 &.|,~ 을 통해서 한다. XOR연산은 그냥 a^b 이렇게 하면 그 결과값이 XOR한 결과이다.
https://www.acmicpc.net/problem/14614 XOR연산에 관련된 문제이다. 핵심은 비트연산은 && ,|| 가 아니라 &,|을 쓴다는 것이다.!!!!! 123456789101112131415161718192021222324252627#include #include #include #include #include #include using namespace std; int main(){ int a,b; string c; scanf("%d%d" , &a,&b); cin >>c; int len = c.length(); int ans = ((~a) & b) | (a & (~b)); if((c[len-1]-'0')%2 == 0){ printf("%d\n" , a); }else{ printf(..
12345if(n == n&-n) { printf("2의 거듭제곱!");}else{ printf("2의 거듭제곱 아님!");}cs +설명) 2의 거듭제곱은 어떤 한 비트만 켜져있을 것이다.n & -n 은 n에서 켜져있는 가장 아래의 비트만 켜진 수이다.그렇기 때문에 2개 이상이 켜져있다면 n & -n와는 절대 같아질 수 없는 것이다.그리고 n에 비트가 하나만 켜져있다면 n & -n 은 그 비트만 켜진 수가 되므로 같게되는것이다. 출처) http://sgc109.tistory.com/130잘보고 배웠당 ㅎㅎ
https://www.acmicpc.net/problem/1182 n의 범위가 작으므로 그냥 재귀를 통한 완전탐색을 활용한다. 이때 s==0일때는 공집합이므로 예외처리를 해주어야 한다. 123456789101112131415161718192021222324252627282930313233343536#include #include #include #include #include #include #define INF 1e18typedef long long ll;using namespace std; int n,s,arr[44],ans; void solve(int cur , int sum){ if(cur == n+1){ // 해당 범위를 벗어날때 if(sum == s){ ans ++; } return; } so..
https://www.acmicpc.net/problem/1261 벽을 부시면서 원하는 위치에 도달할때까지 최소한으로 벽을 부시는 경우를 구하는 문제이다.2차원 배열 두개를 통하여 움직이고 1개를 깼을 때, 2개 .... 하다가 원하는 위치에 도달할때까지 반복하게 된다.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include #include #include #include #include #include #define INF 1e18typedef long long ll; using namespace std; int arr..
펍에서 맥주는 마시다 보면 IPA계열의 맥주 , 혹은 페일 에일(Pale Ale) 이라는 용어를 자주 듣게되어 그에 대한 궁금증 해소?를 위해 검색을 해보았다. 페일 에일(Pale Ale)은 영국에서 개발된 옅은 붉은 빛의 맥주로, 포터나 브라운 에일 등 맥아 특징이 강조된 맥주들과 달리 씁쓸하고 향긋한 홉을 부각시켜 인기를 끌었다. 당시 식민지였던 인도에 파견나간 영국인들을 위해 페일 에일을 선편으로 수송했지만 냉장시설이 발견되기 이전에 적도를 두 번이나 거쳐 아프리카 남단을 도는 항해 동안 페일 에일은 정상적인 상태를 유지하기가 어려웠다. 이후 영국의 양조가들은 기존의 페일 에일에 항균 성분을 가지고 있는 홉을 다량으로 넣고, 보존성을 높이기 위해 알코올 도수를 높인 제품을 인도로 보냈다. 맥주는 문..