Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- koitp
- dynamic programming
- 그리디
- sw expert academy
- 브루트포스
- PS
- SWEA
- 백트래킹
- 삼성 기출
- 다이나믹 프로그래밍
- 스택
- 해커랭크
- 에라토스테네스의 체
- 알고리즘
- 소수
- 구현
- dfs
- 시뮬레이션
- C++
- 백준
- BFS
- BOJ
- 삼성 SDS 대학생 알고리즘 특강
- DP
- 완전탐색
- 잠실
- Algorithm
- hackerrank
- 맛집
- 동적 계획법
Archives
- Today
- Total
펭로그
[C++] 백준 BOJ 5566 주사위 게임 본문
문제링크 : https://noj.am/5566
주사위의 지시사항 대로 구현하면 쉽게 풀리는 단순 시뮬레이션 문제이다.
1. 현재 위치에서 주사위를 던져 해당 눈금만큼 진행한다.
2. 보드의 범위를 초과 했는지 체크한다.
3. 초과하지 않았으면 진행된 자리에 있는 지시사항을 수행한다.
4. 보드의 범위를 초과 했는지 체크한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | // BOJ_5566 주사위 게임 #include <iostream> using namespace std; int direction[1001]; int dice[1001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); freopen("../input.txt", "r", stdin); int board_cnt; int dice_cnt; cin >> board_cnt >> dice_cnt; for(int i = 1; i <= board_cnt; i++) cin >> direction[i]; for(int i = 1; i <= dice_cnt; i++) cin >> dice[i]; int cnt = 0; int player_position = 1; while(true){ // 현재위치에서 주사위 눈금만큼 진행 player_position += dice[++cnt]; if(player_position >= board_cnt) break; // 진행한 위치에 있는 지시사항 수행 player_position += direction[player_position]; if(player_position >= board_cnt) break; } cout << cnt; return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] 백준 BOJ 1475 방 번호 (0) | 2019.01.16 |
---|---|
[C++] 백준 BOJ 1018 체스판 다시 칠하기 (0) | 2019.01.16 |
[C++] 백준 BOJ 1120 문자열 (0) | 2019.01.14 |
[C++] 백준 BOJ 1057 토너먼트 (0) | 2019.01.09 |
[C++] 백준 BOJ 14500 테트로미노 (0) | 2018.11.13 |
Comments