시뮬레이션
-
[BOJ] #17281 _ 야구Problem Solving/BOJ 2019. 10. 22. 20:31
[야구] https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 www.acmicpc.net 야구의 룰을 알면 쉽게 이해할 수 있다. 야구의 룰을 그대로 시뮬레이션하여 구현하는 문제이다. 처음에는 vector를 사용하여 뒤에..
-
[BOJ] #14890 _ 경사로Problem Solving/BOJ 2019. 10. 20. 23:24
[경사로] https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 해당 문제는 SWEA의 활주로 건설과 동일한 문제로 시뮬레이션 문제이다. 다시 풀어보았는데, SWEA 때와는 또 다른듯 비슷하게 구현한 것 같다. 개인적인 느낌으로 좀 더 간결해진 것 같다. [ 소스 코드 ] #include #include #include #define MAX 100 using namespace std; int N, L; int map[MAX][MAX]; int solve(); int mai..
-
[SWEA] #4014 _ 활주로 건설Problem Solving/SWEA 2019. 8. 28. 22:29
[활주로 건설] https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 제약 사항대로 코드를 구현하면 되는 시뮬레이션 문제이다. [ 소스 코드 ] #include #include #include #define MAX 21 using namespace std; int map[MAX][MAX], N, X; int solve(); int main() { int test_case; scanf("%d", &test_case); //input for (int i = 1; i map[i][j]) is_need = 1; ..
-
[BOJ] #17070 _ 파이프 옮기기1Problem Solving/BOJ 2019. 8. 28. 21:51
[파이프 옮기기1] https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 www.acmicpc.net 조건대로만 파이프 옮기는 것이 가능한 시뮬레이션 문제이다. dfs를 이용하여 가능한 모든 경우를 찾는 방..
-
[BOJ] #14503 _ 로봇 청소기Problem Solving/BOJ 2019. 8. 28. 21:28
[로봇 청소기] https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음 www.acmicpc.net 시뮬레이션 문제이다. 주어진 조건대로 구현하면 된다. [ 소스 코드 ] #include #include #defi..