시뮬레이션 2

백준 16235 나무 재테크 C++ 풀이 - 시뮬레이션

단순 구현 문제다. 문제에 주어진 대로 구현만 하면 무난하게 풀 수 있는 구현 능력 테스트 문제인 것 같다. 구현 문제의 접근 방식은 딱히 없다. 그냥 주어진 조건을 어떻게 하면 컴퓨터적으로 받아들여 저장하고 갱신할 수 있을지만 생각하며 된다. 조금 주의해야할 점은 1. 초기에 양분은 모두 5이다. 2. 나무가 같은 땅에 여러 그루 있을 수 있다. 3. 여러 그루 있을 시 어린 나무부터 양분을 흡수한다. 4. 죽은 나무를 바로 양분으로 바꿔버리면 원래 죽어야할 나무가 양분을 흡수하는 경우가 생길 수 있다. 해결 못했었던 문제는 다음과 같다. 1. 시간 초과 - 47%? 정도에서 시간 초과가 지속적으로 났다. 이는 어린 나무부터 양분을 흡수하는 것을 구현하기 위해 priority queue를 선택했었는데,..

알고리즘 2021.05.05

SW EXPERT 5648 원자 소멸 시뮬레이션 C 풀이 - 시뮬레이션

악명 높은 삼성 기출문제이다. 시간 단위가 0.5초 (가는 길에 서로 마주보는 다른 원자와 충돌하는 경우) 이기 때문에 상당히 어려운 문제다. 사실 겁나 어렵다. 더 밑의 차수를 보면 메모리 초과도 있다. 조건은1 4000 || ny 4000 || nx < 0) { at[i].y = ny; at[i].x = nx; continue; } //움직일 수 있는 원자 +1 num++; //만약 어떤 원자가 먼저 왔었다면 if (map[ny][nx]) { //먼저 온 원자 에너지 + ret+=at[map[ny][nx]].K; //방금 도착한 원자 에너지 + ret += at[i].K; //먼저 온 원자 에너지 0 (충돌 끝) at[map[ny][nx]].K = 0; //방금 도착한 원자에너지 0..

알고리즘 2021.04.15