본문 바로가기

Programming/Algorithm 193

swe 2382 미생물 격리 - 시뮬레이션- 미생물이 겹쳤을 떄 어떻게 할 것인가- 겹쳤을 때 가장 큰 방향을 찾고, 그 방향으로 모두 전환- 전환 후, 같은 위치의 미생물 숫자를 한곳에 몰아주기.- 가지치기 미생물이 0 이면 다른 연산 하지 않고 넘기기. - 다른 사람 코드 참고하니, map 을 만들되, 벡터형식으로 만들어서 사용합니다.이것 좋은 아이디어같습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051.. 2018. 4. 13.
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.