혼종 꼬지마루
이 문제는 BFS에 넣어두긴 했지만 트리 구조를 인접행렬로 만드는게 더 중요한 문제 1. 입력되는 간선의 정보와 가중치를 map과 w배열을 만들어 저장 2. 트리의 마지막 노드에서 출발하는 것이 가장 큰 값을 나타내게 되기 때문에 map에서 갈 수 있는 정점의 수가 1개인 곳만 찾아서 bfs 탐색 결과적으로는 맞았지만 1832ms나 걸렸기 때문에 효율적이라고는 생각되지 않는코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344#include #define MX 10002using namespace std; int map[MX][1000], w[MX][1000], q[MX];int N, dab; void bfs(i..
1. 구조체 배열로 입력을 받아서 부모노드를 기준으로 오름차순 정렬 2. 왼쪽, 오른쪽으로 구분하여 재귀호출로 트리 생성 3. pre, in, pos 순으로 순회하며 출력 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include #include using namespace std; typedef struct NODE { char c; int end; NODE *L; NODE *R;}node; struct MAP { char c1, l, r;}map[30]; int N; bool co..
처음에 버릴 수 있는 부분이 있는걸 모르고 헤맸습니다... 말그대로 브루트 포스!! 1. 1~10000길이만큼 잘라서 얻을 수 있는 각각의 나무의 값을 tmp배열에 저장 2. 내림차순 정렬 3. 앞에서 부터 더하며 이전까지 더한 것이 지금값과 더했을때 보다 크다면 break 4. 최대값과 비교하여 갱신 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #include #define MX 1002 using namespace std; int arr[MX]; int N, C, W, dab, lim = 987654321; bo..