본문 바로가기
[BOJ 17822] 원판 돌리기(C++) https://www.acmicpc.net/problem/17822 시뮬레이션 + bfs(?) 로 풀리는 간단한(?) 문제. 다음과 같은 방법으로 풀 수 있다. 1. 원판을 돌린다. 이 때 반시계방향으로 k번 돌리는 것은, 시계 방향으로 M-k번 돌리는 것과 같기 때문에 시계 방향으로 돌리는 것만 구현했다. 효율적인 방식은 아니지만 빠르게 구현하기 위해서(^^;)... 2. 각 지점에서 bfs를 돌면서 인접한 수가 같은지 확인한다. 같은 수는 모두 0으로 바꾸어준다. 2-1. 인접한 수가 모두 다르다면 전체 수의 평균을 구한 다음 조건에 따라 1을 더하거나 빼준다. 3. T회 반복한다 전체 코드 더보기 전체 코드 #include #include using namespace std; int N, M, T,.. 2019. 12. 2.
[BOJ 16236] 아기 상어 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net https://www.youtube.com/watch?v=761ae_KDg_Q 문제 푸는 내내 이 노래가 머릿속에 맴돌았다 아기상어.. 2019. 4. 9.
[BOJ 14502] 연구소 구현 자체는 어렵지 않았지만, 방법을 떠올리는 것이 어려웠던 문제.BFS나 DFS를 이용하되, 바이러스가 있는 부분에서 BFS/DFS를 돌려서 바이러스를 퍼뜨린다는 생각의 전환(?) 이 필요한 문제 벽을 세울 수 있는 후보군을 뽑은 다음 3중 for문을 돌려서 각각의 경우의 수를 모두 판단해 주어야 해서 조금 난이도가 있었다ㅠㅠ... 사실 질문란을 좀 베꼈다......ㅠㅠㅠㅠㅠㅠㅠㅠ 반성해야지 ㅠㅠ처음에 망설인 이유가 3중 for문이라고? 그것보다 더 간단한 방법 없을까? 때문에 고민했던 건데실제 시험에서는 1문제 당 90분이라고 생각하면 이렇게 여유롭게 생각할 시간도 많이 없을 것 같아서 다른 파트의 구현을 먼저 생각하는 것이 맞는 것 같다. package samsung; import java.util.. 2019. 3. 24.