혼종 꼬지마루
dfs의 기본문제라고 생각된 문제 1. N/2로 팀을 나눈다 2. 2중포문으로 start팀과 link 팀의 능력치를 구하고, 차이의 최소값을 구한다 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #define MX 22#define INF 987654321#define ABS(X) (X) > 0? (X): -(X)using namespace std; bool check[MX];int map[MX][MX];int N, dab = INF; void dfs(int d, int pos){ if (d == N / 2) { int start, link; start = link = 0; for (in..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV_6pTXqsXUDFAWS(이 포스팅이 문제가 될 경우 삭제하도록 하겠습니다) 삼성 SW Test B형을 준비하면서 건드렸다가 TRIE라는 새로운 알고리즘을 공부하게 해준 문제 그냥 말그대로 TRIE를 구현하고, 조건의 문자열로 시작하는 문자열이 몇개가 되는지 반환하는 문제 다만, 문자열의 갯수를 저장하는 cnt배열을 각 노드안에 만들어서 각 문자열이 각 노드에서 몇번이나 중복되는지 검사 ex) ippp, ippx, ip와 같이 입력되고, ipp로 시작되는 것을 찾으라 할때,첫번째 노드에서 i 는 3개, 두번째 노드에서 p는 3개, 세번째 노드에서 p 는 2..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18TrIqIwUCFAZN(이 문제 포스팅이 문제가 될 시 삭제하겠습니다) 이 문제의 핵심은 '이 일을 하고 다음에 해야할 일'과 '이 일을 하기 위해서 이전에 해야할 일'로 나눠줘야 합니다. 이 두가지를 핵심으로 나눈다면, 그다음엔 간단한 BFS로 해결 가능! 즉, BFS+ 그래프 문제 입력을 받음과 동시에 '이 일을 하고 다음에 해야할 일'과 '이 일을 하기 위해서 이전에 해야할 일'을 그래프로 만들어 구분 일의 시작점에서는 '이 일을 하기 위해서 이전에 해야할 일'이 없으므로 이 지점을 모두 큐에 담아줍니다. 그리고 나서 큐에서 빠져 나올때 '일을 했다..