본문 바로가기

전체 글547

swexpert 디저트카페 dfs 로 풀이를 하는데, 갔던 넘버는 가지않고, 돌아와야 합니다. 오께이. 설계를 하고, 이것을 dfs 돌리면 됩니다. 여기서 하나 주의해야할 점은 dfs 안에 들어가 있는 변수는 글로벌 변수가 아닌 지역 변수를 사용해서 기존의 값들을 저장해야합니다. 글로벌으로 하면 연동이 되어, return 했을때의 값들을 잃어버리게 됩니다. 초기화도 어디서 시켜주어야 하는지 명확히 구분을 짓습니다. 사용이 끝나면 초기화해주는 것.특히나 dfs 에서는 return 하는 곳과 return 하기전에 방문한 곳을 지워주는 것이 필요합니다. /*갈 수 있는 곳까지 가고 3명의 방향전화을 한 뒤에, 갈 수 있는 곳 까지 가는 것은 와일문을 돌립니다.만약에 depth 가 4가 되고 갈 수 있는 곳 까지 간다음에, 간 자리가처음.. 2018. 2. 27.
swexpert 디저트 카페 /*17:34디저트 까페엔엔 도로가 있습니다. 해당 디저트 까페에서 팔고 있는 디저트의 종류를 의미합니다.대각선 방향으로 움직일 수 있는 길들이 있습니다. 대각선 방향으로 움직이고 사각형 모양을 그리며 출발한 카페로 돌아와야 합니다. 사각형 모양을 그리는 것대각선방향으로 움직이는 것해당 지역 벗어나기 불가.같은 종류의 디저트 엑스 -> 디저트의 종류 비지트 배열로 만들기.하나만 먹는것도 안됨 - > 이동 해야 합니다.왔던길도 안되지 -> 중복이니. 되도록 많은 디저트를 먹기.디저트의 수를 정답으로 출력하는 프로그램을 작성하세요. 오께이.디저트를 먹을 수 없는 경우 -1 을 출력하면 됩니다. 완전탐색입니다.큐를 사용해서 가도 됩니다. 갈 수 있는 길을 저장해둔다음에, 그것으로 다시 돌아오면 되니까.출발하는.. 2018. 2. 26.
swexpert 홈 방범 서비스 케이를 만드는 것이 문제입니다. 케이를 어떻게 만들 것인가를 고민해봅니다. 그리고 어디서 틀린지 디버깅을 해보도록 하겠습니다. 케이를 만드는 방법이 다릅니다.보면, 케이를 만드는 방법에서, /*1. 맵을 받고2. 먼저 케이를 얼마만큼 가능한지 살펴보고,3. i,j 를 맵 처음부터 끝까지 돌리고,하나의 i,j 에 대해서 K =1 ... 할 수 있는데까지 해보고, 그곳에서 가능한 집의 숫자를 체크합니다. */ #include #include #include using namespace std; #define SIZE 25int map[SIZE][SIZE];int visit[SIZE][SIZE];int N, M, K, x, y, nx, ny, T;int dx[] = { 0,0,1,-1 };int dy[] = .. 2018. 2. 26.
swexpert 수영장 /*16:44분가장 적은 비용으로 수영장을 이용1일이용1달 이용 매달 1일부터시작3달 이용권 3달 매달 1일이부터 시작11월 12월에다 3달 이용권 가능1년 이용권 며년 1일1부터 시작합니다.매년 1월 1일만 살 수 잇는 것인가? 각 달의 이용 계획은 테이블의 형태로 수립각 이용권의 요금과 각 달의 이용 계획이 입력.예시를 보면,1일 이용권 1달 이용권 3달 이용권 1년 이용권 가격이 나오고가장 적은 경우 오꼐이모두 1일 이용권모두 1달 이용권3월 1일 이용권456월은 3달 이용권가장 적은 비용으로 수영장을 이용한 경우 4번의 경우 정답은 110 원dfs 문제로 풀어보도록 하겠습니다. if returnpos, depth 가져가야하는 파라미터를 정확하게 알기. 경우의 수를 보면1. 모두 1일 이용권으로 이.. 2018. 2. 24.
swexpert 미생물 /* 오후 14:41정사각형 구역 안에 케이개의 미생물 군집가로 엔 새로 엔개 총 엔엔 개의 정사각형 셀들미생물이 벗어나는 것을 방지 오께이. 제한 하나씩 줄이기.배치되어 있는 예입니다. 오께이세로위치 가로 위치 미생물 수 이동방향미생물수는 무엇이지 한시간마다 이동방향에 있는 다음 셀로 이동 미생물군집이 이동 후 약품이 칠해진 셀에 도착하면 군집 내 미생물의 절반이 죽고, 이동 방향이반대로 바뀝니다. 미생물 수가 홀수인 경우 반으로 나누어 떨어이지 않으므로, 살아남는 수는원래 미생물 수를 2로 나눈 후 소수점 이하를 버림한 값 오께이 그냥 몫으로 계산하면됩니다.한마리 있는 경우 군집이 사라지게 됩니다. 이동 후 두 개 이상의 군집이 한 셀에 모이는 경우 군집들이 합쳐지게 됩니다.이동 방향은 군집들 중 미.. 2018. 2. 24.
백준 차량 정비소 /*다시 짜보도록 하겠습니다. 최대한 예정와 동일하게. 이름도 현상도 똑같이.먼저 입력은 전부 받고, 접수대에 대해서만 짜보도록 하겠습니다. 1에서 받은 고객 && 2에서 정비한 고객걸러내면 됩니다. */ #include #include using namespace std; int N, M, A, B;int a[10], b[10];int n[10], m[10];int K;int t[1001];int A_log[1001];int B_log[1001];int index, index2;int sum;int ans; int sec;queue recep_waiting, repair_waiting;int time_store[21]; void problemIn() {cin >> N >> M >> K >> A >> B.. 2018. 2. 23.
백준 경사로 일단 경우의 수를 나누고, 어떻게 할 것인지를 설계한다음에,풀이하도록 하겠습니다. 그리고 아이디어를 명확하게 알았으니,왜 경사로 맵을 하나만들 생각을 안했을까?그리고 길이에 대해서 갈 생각을 안했을까? 2018. 2. 22.
백준 뿌요뿌요 /*다시 정돈해서 풀어보도록 하겠습니다. 와일(1){1. 뿌요찾아서 터트리기 cnt++; (터뜨릴 뿌요없으면 break)2. 중력을 이용해서 아래 0 없애기}*/ #include #include #include #include #include using namespace std; int map[13][7];int visit[13][7];int x, y, nx, ny;int dx[] = { 0,0,1,-1 };int dy[] = { 1,-1,0,0 };int chain_cnt, zero_cnt;string a;int curNum;int same_color_cnt, flag;struct points {int x, y;};queue que;vector vec; void problemIn() {for (int .. 2018. 2. 22.
백준 3190 뱀 /*뱀 문제 머리를 다음칸에 위치 시킵니다.if 사과 있, 사과를 먹고 꼬리는 그대로else 사과 없, 꼬리가 위치한 칸을 비웁니다.뱀이 죽는데 몇 초가 걸리는지 확인해보세요.*/ #include #include #include #define SIZE 101using namespace std;int n, k, l;char c;int x, y, nx, ny, d;int dx[] = { 0,0,1,-1 };int dy[] = { 1,-1,0,0 }; // 동서남북int sec;int a, b;int map[SIZE][SIZE];struct points {int x;int y;};queue dir_info;queue snake; void problemIn() {cin >> n >> k; // 맵의 크기, 사과.. 2018. 2. 21.
백준 일곱난쟁이 /*일곱 난쟁이 조합 알고리즘이 아니라 2중 포문 으로 풀어보도록 하겠습니다.*/ #include #include using namespace std;int numArr[9];int total, sum, a, b; void problemIn() {for (int i = 0; i > numArr[i];total += numArr[i];}sum = total;} void solve() {for (int i = 0; i < 8; i++) {sum -= numArr[i];for (int j = i + 1; j < 9; j++) {sum -= numArr[j];if (sum == 100) {a = i;b = j;sum += numArr[j];break;}else {sum += numA.. 2018. 2. 21.