코딩/알고리즘 (67) 썸네일형 리스트형 백준 7569 토마토 백준 7576 토마토의 확장 문제 : http://deque.tistory.com/38 이런 날로 먹을수 있는 문제가 있었다면 7576을 풀때 pair를 안쓰고 2차원 배열을 쓰는건데... 약간 신경쓴 부분은 queue에 int 하나만 넣고 싶어서 K, I, J를 int 하나로 해싱했다. #define INT_MAX_ 2147480000 #include #include #include #include using namespace std; int M, N, H; int day; int max_day = 0; int box[101][101][101]; int normalTomato[1000001][3]; int normalTomatoSize = 0; int date[101][101][101]; int mai.. 백준 7576 토마토 이제 방학이 되었으니 다시 알고리즘을 조금씩 해야하지 않을까 싶어서 다시 시작 알고리즘이랑 안드로이드랑 병행해서 공부 중임 백준 7576 : 토마토 이 문제는 BFS 문제인게 뻔히 보인다. 다만 탐색을 할때 다음 탐색되는 노드의 레벨이 원래 계산되어 있던 레벨보다 더 좋은 레벨이면 갱신을 해줘야 한다. #define INT_MAX_ 2147480000 #include #include #include #include using namespace std; int M, N; int day; int max_day = 0; int box[1001][1001]; pair normalTomato[1000001]; int normalTomatoSize = 0; int date[1001][1001]; int main().. 백준 1967 트리의 지름 #define _CRT_SECURE_NO_WARNINGS //#define _FILE_INPUT_ #include #include #include #include #include #include #include using namespace std; class TreeNode { public: int num; vector connections; //node, dist int maxDist_first = 0; int maxDist_second = 0; TreeNode() { num = 0; } TreeNode(int num) : num(num) {} void pushSonDist(int dist) { if (dist > maxDist_second) { maxDist_second = dist; if (dist.. 백준 2250 트리의 높이와 너비 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include using namespace std; class TreeNode { public: int data; int rowNum; pair connections; TreeNode() { data = 0; } TreeNode(int data) : data(data) {} }; int main() { int size; scanf("%d", &size); vector treenodeVector; treenodeVector.push_back(new TreeNode(0)); for (int i = 1; i connections.first] = true; if (treen.. 백준 1167 트리의 지름 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int n; class TreeNode { public: int data; vector connections; //{node, dist} TreeNode() { data = 0; } TreeNode(int data) : data(data) {} }; class Tree { public: TreeNode head; int size; Tree(TreeNode head, int size) : head(head), size(size) {} }; int bfsSearch(int size, int startNodeNum, int& maxDis.. 백준 11725 트리의 부모 찾기 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; int n; class TreeNode { public: int data; vector connections; int connectionSize = 0; TreeNode() { data = 0; } TreeNode(int data) : data(data) {} }; class Tree { public: TreeNode head; int size; Tree(TreeNode head, int size) : head(head), size(size) {} }; int main() { int size; scanf("%d", &size); i.. 백준 2261 가장 가까운 두 점 찾기 #include #include using namespace std; int n; struct dot { int x; int y; bool operator>(dot rdot) { return this->y > rdot.y; } bool operatory < rdot.y; } }; dot dotArr[100001]; int dist(int AIndex, int BIndex) { return (dotArr[BIndex].x - dotArr[AIndex].x) * (dotArr[BIndex].x - dotArr[AIndex].x) + (dotArr[BIndex].y - dotArr[AIndex].y) * (dotArr[BIndex].y - dotArr[AIndex].y); } int calc(int start.. 백준 1992 쿼드트리 #include #include using namespace std; int canvasSize; bool canvas[64][64]; void consoleInput() { scanf("%d", &canvasSize); for (int i = 0; i < canvasSize; i++) { for (int j = 0; j < canvasSize; j++) { char tmp = getchar(); if (tmp == '\n') { j--; continue; } if (tmp - '0' == 0) canvas[i][j] = false; else canvas[i][j] = true; } } } int isSameColor(int i_start, int i_end, int j_start, int j_end) .. 이전 1 ··· 3 4 5 6 7 8 9 다음