목록시뮬레이션 (3)
최고를 향해 최선을 다하자
안녕? 나는 응애개발자 이번 문제는 생각할게 많았던 시뮬레이션 문제였다. 어떻게 풀었냐면. 0. 일단 시간 M만큼 반목문을 돌려서 1. dq안에 있는 좌표를 pop_front()해서 해당방향에 따라 다음좌표로 pop_back(다음좌표, 군집 수 ,방향) 넣어줬고 2. 이 좌표들을 하나하나 살피면서 dq안의 모든 구조체를 pop_front()해서 비웠다. 2-1) 해당좌표에 미생물 군집이 없다면 그 좌표의 대표군집이 되고 2-2) 해당좌표에 미생물 군집이 있다면 비교하여 큰 군집으로 대표 군집이 바뀌게 되는것이다. 이렇게 맵을 업데이트 하고 3. 맵에 있는 군집과 방향으로 dq에 push_back(다음좌표, 군집 수 ,방향) 했다. 근데 문제가 있는것이라. 3개의 군집이 한번에 뭉칠때 대충 예를들어 (군집..
안녕? 나는 응애개발자 문제를 보고 '아 뭐야? 어렵지 않아서 대-충 풀면 알아서 되겠네?' 싶어 문제도 대-충읽고 대-충 로직짜서 코딩해서 돌렸는데 틀린것이다;; 알고보니 문제를 대충읽어서 로직을 완전 반대로 짜버렸다ㅋㅋ (이걸로 한시간 삽질함) 문제를 완벽하게 이해하는건.. 중요하다는 것을 다시한번 느꼈다...큐ㅠㅠ 각설, 코드 리뷰 시작! 오늘의 코드는 더럽다. 어쩔수 없다 난 응애니까! #include #include #include #include using namespace std; int K; int magnet[4][8]; queue rotation; int mag_match[4][2] = {{-1,1},{0,2},{1,3},{2,-1}}; //2^n을 구하는 함수 int multi(int..
안녕? 나는 응애개발자 오늘은 SWEA의 2117번 문제를 풀었다. 사실 나는 디버그 할 때마다 로직 수정보다는 인덱스에서 시간을 참 많이 소모해버리는데... 오늘은 시간을 별로 안 써서 행복했다. 딱히 어려운 문제는 아니었지만 풀면서 'for문이 이렇게 들어가 버린다고? 이거 맞긴 해?' 하면서 풀었는데 맞다. SWEA은 엥스러운 문제를 잘 내는 것 같다. 각설, 코드 리뷰 가자 #include #include using namespace std; int N,M; int map[20][20]; int ans = 0; //현재 좌표가 맵 범위 밖이면 false, 안이면 true를 리턴한다 bool check(int y, int x){ if((y>=0) && (x>=0) && (x