본문 바로가기

전체 글547

swe 2117 홈 방벙 서비스 - bfs- 한번 홀수 짝수 구분을 명확히 해야 합니다.- 명확하게 k 에 대해서 정해주도록 합니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915.. 2018. 4. 12.
swe 2115 벌꿀채취 - dfs + dfs- dfs 로 먼저 벌통의 영역을 선정한 후에- 선정된 벌통에 대해서 dfs 를 통해서 최대 벌꿀량을 계산합니다. - dfs + dfs 둘다 풀으니 왕뿌듯합니당. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134/*.. 2018. 4. 12.
swe 2112 보호 필름 - 중복 가능한 순열- 거기에다가 cnt 의 조건 하나 더 추가- dfs 확인 할 때 가지치기의 중요성- 안되면 바로 빠져나오도록 설계해야 합니다. (이거 걸릴 줄 이야...) 아이디어, 맵을 변경하지 않고, 확인하는 방법이 존재한다는 것꼼꼼한것이 중요. 일단 dfs+시뮬이면 dfs 가 명확하게 나오는지 확인할 필요가 있음. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710.. 2018. 4. 12.
swe 2383 점심 식사시간 - dfs + 시뮬 문제- dfs 를 할때 중복 가능한 순열 문제입니다. 뎁스는 정해져 있음, 그럼 뎁스에 따라서 리턴하면 됩니다.- 중복 순열을 어떻게 처리할 것인가에 대한 문제- 그리고 계단을 내려오는 것을 시뮬레이션 하면 됩니다.- 대기장소큐, 계단큐 총 4개의 큐를 사용합니다. 순서는1. 계단을 모두 내려온 것 확인2. 대기에서 계단에 넣어주기3. 맵에서 계단 대기로 이동하기4. 모두 내려왔는지 확인하기 순서 입니다. 이것을 1번과 2번 계단에 대해서 독립적으로 풀어줍니다.그리고 내려온 시간의 최소 시간을 구해주면 됩니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535.. 2018. 4. 12.
swe 1953 탈주범 검거 1. bfs + 시뮬입니다.2. 어떻게 할 것인지, 그리고 처음에 설계를 하고 예외가 없는지 체크를 해보았습니다. 괜찮다고 판단이 되어 설계한 대로 구현했습니다.3. 초가 지나가는 것에 대해서 와일문을 쓰고, 큐 엠티를 쓰고, 이것을 적용해서 가산점 고고 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121.. 2018. 4. 11.
swe 2105 디저트 카페 1. dfs 에 대한 아이디어는 명확한데,2. visit 안에서 방향을 변경하는 것과, 변경하지 않고 가능 dfs 를 쓴다는점.3. 맵을 벗어나면 리턴을 한다는점을 명확히 알아야 합니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586#include #include #include using namespace std; #define SIZE 22 // 22#define SIZE2 101 // 101int map[SIZE][SIZE];int dx[] = { 1,1,.. 2018. 4. 10.
swe 수영장 1. dfs 의 가장 기본적인 것.2. 따로 배열을 가지고 갈 필요도 없음.3. 연산자 끼워넣기나, 퇴사 문제랑 비슷함. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172/*18:55수영장 이용13분 컷1일 이용권1달 이용권3달 이용권1년 이용권가장 적은 비용으로 수영장을 이용할 수 있는 방법을 찾고 그 비용을 정답으로 출력dfs 로 풀고, 1,2,3, 을 사용하지 않는 방법을 해보도록 합니다.*/ #include #include #include using namespace std; int price[4];int .. 2018. 4. 10.
백준 14889 스타트와 링크 1. 문제를 명확하게 이해하고,2 어떻게 구현할지 명확하게 합니다.3. 팀을 이룬 사람들끼리 합을 어떻게 구할 것인지가 포인트입니다.4. 조합은 기본! 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778/*1830 시작팀을 2개로 나누고,1850 분20분 컷!!!조합으로 하고, */ #include #include using namespace std;#define SIZE 21 int map[SIZE][SIZE];int visit[SIZE];int N;int team1, team2;int min.. 2018. 4. 10.
백준 14891 톱니바퀴 1. 인덱스처리 꼼꼼하게 만 해줍니다.2. flag 도 짧게 짜보도록 하겠습니다.3. flag 배열로 만들도록 연습. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614.. 2018. 4. 10.
백준 2048 정답 참고 1. 일단 큐를 사용해서, 합하는 함수를 만든 것이 대단.2. dfs 에서 맵을 안가지고 가고, 깊이만 가지고 갑니다.3. 그래도 리턴되면 해당 뎁스에 따른 map store 를 가지고 있습니다.4. 변화는 항상 조심스럽게 합니다. merge를 하고 depth 를 +1 합니다.5. 내부에 들어가서 for 문을돌리도록 합니다. 처음에 들어갈 때, for 문을 들어가지 않고,6. 최대한 간편하게 짜도록 합니다.7. 0을 무시하기 위해서 0이면 큐에 넣지 않습니다. 그리고 idx 변수를 사용해서 어떻게 이동하는지를확실히 합니다.8. 그리고 큐의 첫번째 데이터를 저장하기 위한 변수를 따로 설정합니다. 9. dfs 는 가장 간단하게, 최소화 하도록 합니다. 1234567891011121314151617181920.. 2018. 4. 10.