728x90
반응형

- maps 복사할때 &maps 해서 주소 참조 하는거로 진행하기
#include <vector>
#include <string>
#include <iostream>
using namespace std;
vector<vector<int>> arr = {
{0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 0, 1, 0, 0, 0},
{1, 1, 0, 1, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 1},
{1, 1, 0, 1, 1, 0, 0},
{1, 0, 0, 0, 0, 0, 0}
};
int answer = 0;
void DFS(int x, int y, vector<vector<int>> &maps){
if (x == 6 && y == 6){
answer += 1;
return;
}
int dx[4] = {0,0,1,-1};
int dy[4] = {1,-1,0,0};
for (int i = 0; i < 4; i++){
int nx = x + dx[i];
int ny = y + dy[i];
if (nx < 0 || nx >= 7 || ny < 0 || ny >= 7) continue;
if (maps[ny][nx] == 1) continue;
maps[ny][nx] = 1;
DFS(nx,ny,maps);
maps[ny][nx] = 0;
}
}
int main(){
// 출발은 0,0
// 도착점 6,6
arr[0][0] = 1;
DFS(0,0,arr);
cout << answer;
return 0;
}728x90
반응형
'coding test - C++ > 기본기문제' 카테고리의 다른 글
| [C++] 그래프, 인접행렬, 최단거리 BFS (0) | 2026.09.29 |
|---|---|
| [C++] 가중치 경로 문제 정리 - AI정리 (0) | 2026.09.29 |
| [C++] 경로 탐색 (DFS) (0) | 2026.09.28 |
| [C++] 수식 만들기 - DFS (0) | 2026.09.28 |
| [C++] 기본 문법 (매크로, 구조체, 연산) (0) | 2026.02.10 |