본문 바로가기

Programming399

백준 1937 욕심쟁이 판다 정답 참조 /*1601 욕심쟁이 판다엔엔의 크기의 대나무 숲이 있습니다. 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다.단식 투쟁을 하다가 죽게 됩니다.이런 판다를 대나무 숲에 풀어 놓아야 하는데, 어떤 지점에 처음에 풀어 놓아야 하고, 어떤 곳으로 이동을 시켜야 둘 다 소중한 생명이지만판다가 최대한 오래 살 수 있는지 고민에 빠져 있습니다. 아무 곳에 떨어트려 놓고, 동 서 남 북 방향으로 dfs 를 돌리면 되겠습니다.그리고 갈 곳이 없을때의 최대 거리를 비교해서 적어두면 됩니다.*/ #include #include using namespace std; #define SIZE 501 // 501int map[SIZE][SIZE];int visit[SIZE][SIZE];int d[SIZE][SIZE];in.. 2018. 3. 20.
백준 1938 통나무 옮기기 #include #include #include #include #include using namespace std; struct pt {int x;int y;int d; pt(int a, int b, int c) :x(a), y(b), d(c) {} }; int n; char board[53][53];int visited[52][52][2];int dist[52][52][2]; vector avail(const pt& cur){vector ret; int dd[4][2] = { { -1,0 },{ 0,1 },{ 1,0 },{ 0,-1 } };bool res[4] = { 0 };bool range = true;for (int i = 0; i 2018. 3. 19.
백준 2468 안전 영역 1. 비가 아예 안오는 경우도 고려해야 합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123/*0950 안전 영역*/ #include #include #include using namespace std; #define SIZE 101 // 101 int map[SIZE][SIZE];int.. 2018. 3. 19.
백준 연산자 끼워넣기 /*0852 연산자끼워넣기2개의의 수열이 들어오고5, 6이 들어오고곱하기가 있습니다. */ #include #include using namespace std;#define SIZE 12int numArr[SIZE];int operArr[SIZE];int N;int minVal = 2123456789;int maxVal = -2123456789; void problemIn() {cin >> N;for (int i = 0; i > numArr[i];}for (int i = 0; i > operArr[i];}} void dfs(int depth, int a, int b, int c, int d, int sum) { if (a == 0 && b == 0.. 2018. 3. 10.
백준 2583 영역 구하기 bfs 문제 이제, 다 풀 수 있습니다. 응용도 가능합니다. 원하는 자료구조도 만들어서 클리어! 2018. 3. 8.
백준 4963 섬의 개수 /*1611 유기농 배추1654 401012 번문제입니다.배추를 흰지렁이의 마리 수를 출력하세요. 섬의 갯수를 세는 문제와 동일 합니다.1이 있는 곳에서 갈 수 있는 곳에 비지트 처리를 하고,또 다른 1을 찾아서 비지트 처리를 하고 이런식으로하면서 cnt++ 를 visit 에 넣으면 됩니다. 오께이. */ #include #include #include using namespace std; #define SIZE 51 // 50; int W, H;int map[SIZE][SIZE];int visit[SIZE][SIZE];int ans;int a, b;int x, y, nx, ny;int dx[] = { 0,0,1,-1,-1,-1,1,1 };int dy[] = { 1,-1,0,0,-1,1,-1,1 };in.. 2018. 3. 8.
백준 1012 유기농 배추 /*1611 유기농 배추1012 번문제입니다.배추를 흰지렁이의 마리 수를 출력하세요. 섬의 갯수를 세는 문제와 동일 합니다.1이 있는 곳에서 갈 수 있는 곳에 비지트 처리를 하고,또 다른 1을 찾아서 비지트 처리를 하고 이런식으로하면서 cnt++ 를 visit 에 넣으면 됩니다. 오께이. */ #include #include using namespace std; #define SIZE 51 // 50; int N, M, K;int map[SIZE][SIZE];int visit[SIZE][SIZE];int ans;int a, b;int x, y, nx, ny;int dx[] = { 0,0,1,-1 };int dy[] = { 1,-1,0,0 };int wormCnt = 1; struct points {int.. 2018. 3. 8.
백준 1907 탄소화합물 /*13:301907 탄소화합물세 가지 종류의 원자 CHO 화합물을 탄소 화합물.분자플분자는 분자원자숫자워자숫자분자는 하나이상의 원자로 구성숫자는 2이상 9이하,숫자엑스는 그 원자가 한 번만 나타났다. 우리가 관심이 있는 화학식이 딥니다.균형이 있지 않다면 적절한 계수를 주어 화학식의 균형을 맞출 수 있습니다.분자가 여러 개 있다는 것으로 생각합니다. 씨플 1,2,1의 계수를 주어 균형을 맞출 수 있다는 것분자 플 분자는 분자 형태의 화학실 적절한 계수를 맞추어 균형있는 화학식으로 만드는 프로그램 H3 O3 *2 H6 O 12O 6 H2 O4 * 3 H6 O 12최소공배수 이런것들을 파악해야겠습니다.빼는 개념으로 생각을 해야 하나요? C 의 갯수 H 의 갯수 O 의 갯수를 담는 배열을 만들고빼면서 계산을.. 2018. 3. 8.
swexpert 점심시간 푸는중 계단 내려가는 것 처리만 하면댐 /*점심 시간밥을 빨리 먹기 위해 빠른 시간 내에 내려감 계단입구를 에스 사람은 피 1. 계단 입구까지 이동 시간2. 계단을 내려가는 시간(동시에 3명만 올라갈 수 있습니다.)계단의 길이가 주어집니다. 모든 사람들이 계단을 내려가 이동이 완료되는 시간이 최소가 되는 경우계단1, 계단2 로 나누어서, 최대값을 하나 선정하고,최대값들 중에서 최소값을 정하면 됩니다. 1. 계단 2개가 있는데 사람들이 나누어서 들어가는 경우를 생각하면 됩니다. 순열 2. 걸리는 시간대로 사람들을 줄을 세웁니다. 이것을 가지고 있는 하나의 큐를 만듭니다. 3. 큐에서 계단에 내려보냅니다. 이때, 계단은 3명까지 올라갈 수 있습니다. 계단 입구에서 대기줄을 받는 어레이 2개,사람 번호, 도달 시간 계단 위에 올라와 있는 것 하나에.. 2018. 3. 5.
swexpert 차량정비소 /*1322 차량 정비소1455 2:30 2시간 30분ㄴ t1, 접수대1,2 정비소1,2 t2 이렇게 총 6가지 장소가 있습니다.그리고 1번의 사람은 어디어디에서 받았는지 기록하는 것 추가요. 먼저 t1에 대기를 시켜둡니다.그리고 먼저 온 사람부터 빠져나가므로 queue 형태가 맞습니다.그리고 접수대에 위치하는 사람을 저장하는 장소를 만듭니다.접수대 1,2, 3.... 이상이 될 것 같은데 자료 구조를 어떻게 사용하지?접수대에는 사람넘버와 들어온 시간, 접수대에서 소요되는 시간을 계산하면 됩니다. 처음 시간을 보면 1 은 1,2 를 저장하면 됩니다. 2 는3 은4 는5 는*/ #include #include #include using namespace std; int N, M, K, A, B;int an.. 2018. 3. 5.