본문 바로가기

전체 글

(168)
칸으로 이동하고 가장 큰 것만 남기기 이동이 다 완료된 후 큰것 비교 수행 같은 곳에 이동한 것들을 누적시키지 말고 최댓값만 유지하기 SWEA 줄기세포 배양 SWEA 미생물 격리 BOJ 낚시왕
큐에 넣어 처리하기 큐에 넣어 확산시키기 유기농배추 치즈 큐에 넣어 이동하기 낚시왕
polymorphism - overriding & virtual keyword - late binding #include using namespace std; class base { public: void fun_1() { cout
브루트포스 level간 자료구조 전달 각 level에서 수정되는 자료구조는 call by value로 전달해야 한다. 변수 종류별 전달 방법 배열이 아닌 변수 브루트포스 함수의 인자로 넘겨준다(call by value) 배열인 변수 벡터를 사용해야만 call by value가 가능하다 배열은 call by value가 불가능하다(call by reference만 가능) 배열의 수정을 undo하기 용이한 경우(전체를 memcpy하는 것보다 저렴한 경우) BOJ 색종이 붙이기 색종이 크기만큼만 memset BOJ 괄호 추가하기 추가된 char만큼 삭제 배열 전체가 수정되는 경우(undo 어려움) 배열 차원에 (level + 1) 차원을 더하여 전역에 선언한다. level간 memcpy로 call by value를 모방한다. BOJ 주사위 윷놀이..
주의사항 변화량을 바로 적용할 수 있는가 변수의 범위가 변했을 때 loop header를 조정해주었는가
시간단축기법 BOJ 주사위 윷놀이 17825 한 번에 4개의 말을 모두 움직이면 중복되는 위치 조합이 여러개 발생 -> 4개 모두 선택 대신 기존말/ 새로운말 선택 여부 정하기 이동 과정을 삭제하고, 지점별로 주사위 눈금에 따른 다음 지점을 할당해 놓아 한번에 움직이기 BOJ
2중 브루트포스 BOJ 색종이 붙이기 SWEA 제주도 여행 계획
색종이 붙이기 /* 1. undo를 해주면 level 설정 필요 x */ #include #include #include using namespace std; bool map[10][10]; int dp[10][10]; bool row_of_ones[5] = { 1, 1, 1, 1, 1 }; bool row_of_zeros[5]; int one_ctr; unsigned ans = -1; int coverage[6] = { 0, 1, 4, 9, 16, 25 }; int paper_ctr[6]; int paper_ctr_max[] = { -1, 5, 5, 5, 4, 4 }; bool vst[10][10];/* 1 */ bool possible[6][10][10]; void bf(int rb, int cb, int tot_..