반응형 알고리즘222 [알고리즘] c++ cpp 양치기 꿍 포인트 1. BFS (너비 우선 탐색)을 구현하는 문제입니다 한 구역에 탐색을 BFS로 진행을 합니다. 구역 탐색을 마치고 양의 숫자와 늑대의 숫자를 비교해서 한 친구(양이나 늑대)를 0으로 만들어준 후 결과 값에 더해줍니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; int n, m; char map[255][255]; bool visited[255][255]; int dx[4] = {0,0,1,-1}; int dy[4] = {1,-1,0,0}; pair bfs(int a, int b){ queue q; q.push({a, b}); visited[a][b] = 1; int c = 0; int d = 0; .. 2020. 12. 4. [알고리즘] 타겟 넘버 포인트 재귀 함수를 잘 구현을 할 수 있는가? 비트 마스크로도 구현을 할 수 있습니다. 비트 마스크로 생각을 하면 간단히 풀리는 것 같습니다. 재귀는 하면 할수록 신기한 친구네 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 재귀 #include #include #include using namespace std; vector map; vector sel; int answer=0; int tt; void go(int index, int cnt) { if(cnt==map.size()) { int sum=0; for (auto ele : sel) { cout 2020. 12. 4. [알고리즘] c++ cpp 단어 뒤집기 포인트 1. 여기서 포인트는 스택을 사용을 하는 것과 문자열 끝을 표시를 하는 것이다. 본인은 //1, 2 주석을 보고 감동을 먹었다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; int main(){ int t; cin>>t; while(t--){ string s; getline(cin, s); s+='\n'; stack stack; for(auto ele : s){ if(ele ==' '||ele=='\n') { while(!stack.empty()) { cout 2020. 12. 3. [알고리즘] DFS (깊이 우선 탐색), BFS(너비 우선 탐색) 포인트 깊이 우선 탐색은 재귀를 주로 사용합니다. 저는 용어를 나누어서 사용해서 헷갈리는 부분이 많았던 것 같습니다. 깊이 우선 탐색과 너비 우선 탐색은 그렇게 다르지 않다. 사실 계속해서 알고리즘 공부를 하면서 생각이 나는 것은 사실 엄청 모르고 있는 것들이 깨어나간다라는 생각이 많이 든다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; vector map; vector visited; int n, m; int u, v; void dfs(int x) { //기본적으로 재귀를 사용한다고 하면 생각하기 쉽다. visited[x] = true; //bfs 처럼 방문 배열 표시를 하고 cout n >> m; map.resize(n.. 2020. 12. 3. 이전 1 ··· 28 29 30 31 32 33 34 ··· 56 다음 반응형