시뮬레이션

문제 (Gold 5) https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 문제가 참,, 여러모로 이해하기 어려웠다,, 다른것보다 갑자기 출력하라고 나온 단어인 '단계'가 무엇인지 예제를 몇개 돌려보고야 알았던 것 같다. 여기선 1-4의 루틴을 한 단계라고 하고, 종료되기까지 총 몇번의 단계를 거쳤는지를 구하면 된다. 처음엔 일의 순서로 나와있는 1,2,3,4가 한 단계를 나타내는 줄 알았고, 예제1의 출력이 '2'번 단계..
문제 (Gold 3) https://www.acmicpc.net/problem/11967 11967번: 불켜기 (1, 1)방에 있는 스위치로 (1, 2)방과 (1, 3)방의 불을 켤 수 있다. 그리고 (1, 3)으로 걸어가서 (2, 1)방의 불을 켤 수 있다. (2, 1)방에서는 다시 (2, 2)방의 불을 켤 수 있다. (2, 3)방은 어두워서 갈 수 없으 www.acmicpc.net 풀이 탐색을 언제, 어디에서 하는지가 굉장히 중요한 문제! 우선, 더 이상 상태 변경이 없을 때까지 탐색을 반복한다. 탐색 코드 cangoTmp: 탐색하기 전의 상태를 저장해 놓는다. 탐색한 곳에서 스위치를 켤 수 있는 곳의 cango값을 true로 변경한다. BFS 탐색을 돌고, 탐색한 곳에서 map의 List를 돌며 계..
문제 (Gold 5) https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 풀이 좌표계만 신경쓰면 어렵지 않았던 문제! 나의 경우, 좌상단부터 (0,0) 우하단이(B-1,A-1)가 되도록 좌표를 설정하였다. 여기서 주의해야 할 점은! 입력 또한 x축 좌표부터 입력되므로 바로 [x][y]이렇게 저장하면 오류가 난다. 모든 코드에서 A, B, X, Y, I, J에 헷갈리지 않도록 유의하자! 코드 더보기 package simulat..
문제 (Silver 1) https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 풀이 시뮬레이션은 차례대로만 구현하자! 설치 후, 1초 후엔 아무런 변화 없으므로 초기 상태 설정 시 1초 후의 상태로 바로 설정 2초 후부터 N초 후까지의 로직을 구현 for(int i = 1 ; i < N ; i++) == for(int i = 2 ; i
점이
'시뮬레이션' 태그의 글 목록