'dfs' 태그의 글 목록
본문 바로가기
728x90
반응형

dfs45

2022-04-28-19238-스타트택시 01.택시 승하차 01.1 손님 탐색 int visit[NS][NS] = { 0, }; queuet; Taxi.feul = F; t.push(Taxi); int minY, minX, minCnt; minY = minX = minCnt = 0x7fffffff; int fuel, used; visit[Taxi.y][Taxi.x] = 0; int number = 0; while (!t.empty()) { Pos c = t.front(); t.pop(); //if (c.feul == 0 && startBoard[c.y][c.x].isStart != 1) return -1; if (startBoard[c.y][c.x].isStart == 1) { // 최소값 뽑는 부분 if (minCnt >= c.cnt) { m.. 2022. 4. 28.
2022-04-24-17822-원판돌리기 01.시계방향또는 반시계방향으로 이동하기 void clockArr(int idx, int arr[MS]) { int copy = arr[M-1]; for (int i = M-1; i >0; i--) { arr[i] = arr[i - 1]; } arr[0] = copy; } void clockArrReverse(int idx, int arr[MS]) { int copy = arr[0]; for (int i = 0; i 2022. 4. 24.
22-04-18-15686-치킨배달 01.dfs 방식 1 void dfs(int idx, int count) { if (idx > chicken.size()) return; if (count == M) { int dis = absDistance(); ret = ret > dis ? dis : ret; return; } D.push_back(idx); dfs(idx + 1, count + 1); D.pop_back(); dfs(idx + 1, count); } 02.dfs 방식 2 void dfs(int idx, int count) { if (count == M) { int dis = absDistance(); ret = ret > dis ? dis : ret; return; } for (int i = idx; i < chicken.size.. 2022. 4. 18.
22-04-11-14888-연산자끼워넣기 01.dfs를 이용한 계산 void dfs(int idx, int plus, int minus, int multiple, int divide, int sum) { if (idx == sumNumber) { minNumber = minNumber > sum ? sum : minNumber; maxNumber = maxNumber < sum ? sum : maxNumber; return; } if (plus) dfs(idx + 1, plus - 1, minus, multiple, divide, sum + number[idx+1]); if (minus) dfs(idx + 1, plus, minus-1, multiple, divide, sum - number[idx + 1]); if (multiple) dfs(.. 2022. 4. 12.
728x90
반응형