본문 바로가기
반응형

알고리즘211

[알고리즘] c++ cpp 방의 개수 포인트 1. map 을 사용하여 방문상태와 연결 상태를 확인한다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; int dx[8]={ -1, -1, 0, 1, 1, 1, 0, -1 }; int dy[8]={ 0, 1, 1, 1, 0, -1, -1, -1 }; struct Point { int x, y; }; int solution (vector arrows) { int room=0; map visited; map connected; Point point={ 0,0 }; visited[{point.x, point.y}]=1; for (int i=0; i < arrows.size (); i++) { // point.x자의 교차 .. 2020. 10. 24.
[알고리즘] c++ cpp 부분수열의 합 포인트 1. 부분 수열의 합을 구하는 방법? (조합적인 방법, 비트마스크 방법) 2. 이번에는 비트마스크로 푸는 방법을 알아보자 비트마스크로 푸는 이유는 조금더 빠르고 간단한게 풀기 위해서 이다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 비트 마스크로 구하는 방법 #include #include using namespace std; vector a; int main () { int n, m; cin >> n >> m; a.resize (n); for (int i=0; i > a[i]; } int answer=0; for (int i=1; i > map[.. 2020. 10. 23.
[알고리즘] c++ cpp 카펫 포인트 1. 머리를 조금 굴릴 필요가 있다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; for(int i = yellow ; i >= (yellow/i) ; i--){ if (yellow%i != 0) { continue; } if (((2*i)+(2*(yellow/i))+4) == brown) { answer.push_back(i+2); answer.push_back((yellow/i)+2); break; } } return answer; } 2020. 10. 23.
[알고리즘] c++ cpp 네트워크 연결 포인트 1. mst 를 잘 이해할 수 있는가를 묻는 문제 (mst 는 크루스칼 알고리즘, 프림 알고리즘 등이 있다. ) 크루스칼 알고리즘이 빠르긴하다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 프림 알고리즘 #include #include #include #include using namespace std; int n, m; bool visited[1001]; vector map[1001]; //가중치, 목적지 priority_queue pq; //가중치기준 최소힙 int prim() { int ans = 0; pq.push({0, 1}); while (!pq.empty()) { int cost, x; tie(cost, x) = pq.top(); pq.pop(); if (visited[x.. 2020. 10. 23.
반응형