반응형 cpp153 [알고리즘] c++ cpp N-Queen 포인트 1. 판을 만들면서 유망성을 확인한다. (백트랙킹) 2. 퀸은 가로, 세로, 대각선을 모두 갈 수 있는 말? 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include using namespace std; // 전역 변수 잘 사용하기 int n, answer; int col[16]; //배치 가능 여부 bool promising(int a) { int temp = 1; bool flag = true; while (temp < a && flag) { //같은 열이거나 대각선이라면 배치 못함 if (col[a] == col[temp] || abs(col[a] - col[temp]) == a - temp) flag = false; temp+=1; } return flag; } void n.. 2020. 10. 6. [알고리즘] c++ cpp 연구소시리즈 (연구소3) 포인트 1. bfs 를 잘 할 수 있는가? 2. 활성 비활성을 잘 구분할 수 있는가? #include #include #include #include #include #include using namespace std; #define MAX 50 #define VIRUS_MAX 10 int map[MAX][MAX]; int dist[MAX][MAX]; int n, m; int virusCount = 0; int answer = 987654321; bool virusVisited[VIRUS_MAX]; vector virus; int dx[4] = {-1, 1, 0, 0}; int dy[4] = {0, 0, -1, 1}; void bfs(int size) { queue q; for (int i = 0; i .. 2020. 10. 5. [알고리즘] c++ cpp 연구소시리즈 (연구소2) 포인트 1. bfs 를 잘 할 수 있는가? 2. 최소 시간을 알 수 있는가? 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include #include #include #include using namespace std; #define MAX 50 #define VIRUS_MAX 10 int map[MAX][MAX]; int dist[MAX][MAX]; int n, m; int cnt = 0; int answer = 987654321; vector virus; vector real_virus; int dx[4] = {-1, 1, 0, 0}; int dy[4] = {0, 0, -1, 1}; void bfs() { queue q; for(auto ele : re.. 2020. 10. 5. [알고리즘] c++ cpp 숨바꼭질 시리즈 (숨박꼭질4) 포인트 1. BFS (너비 우선 탐색) 2. 이번 조건은 방문했던 경로들을 기억을 할 수 있는가 이다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include #include using namespace std; const int MAX = 100001; int parent[MAX]; //해당 지점 방문 직전 지점 저장 bool visited[MAX]; vector map; //경로 저장 int n, m; int bfs() { queue q; // 페어 큐를 만든다. q.push({n, 0}); visited[n] = 1; while (!q.empty()) { // 빌때 까지 반복 int x, time; tie(x, time) = q.front(); q... 2020. 10. 4. 이전 1 ··· 31 32 33 34 35 36 37 ··· 39 다음 반응형