티스토리 뷰
14499번: 주사위 굴리기
첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도
www.acmicpc.net
백준 소스코드 [C++] 14499 주사위 굴리기
#include <iostream>
#include <algorithm>
#include <queue>
#include <string.h>
#include <limits.h>
#include <vector>
#include <math.h>
#include <stack>
#include <bitset>
#include <string>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
int n, m, y, x, k,dir;
int arr[22][22];
int dx[5] = { 0,1,-1,0,0 };
int dy[5] = { 0,0,0,-1,1 };
int dice[6] = { 0,0,0,0,0,0 };
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m >> y >> x >> k;
memset(arr, -1, sizeof(arr));
for (int i = 1;i <= n;i++)for (int j = 1;j <= m;j++) cin >> arr[i][j];
y++, x++;
while (k--) {
cin >> dir;
if (arr[y + dy[dir]][x + dx[dir]] == -1) continue;
y = y + dy[dir], x = x + dx[dir];
if (dir == 1) {
int temp = dice[0];
dice[0] = dice[4];
dice[4] = dice[2];
dice[2] = dice[5];
dice[5] = temp;
}
else if (dir == 2) {
int temp = dice[0];
dice[0] = dice[5];
dice[5] = dice[2];
dice[2] = dice[4];
dice[4] = temp;
}
else if (dir == 3) {
int temp = dice[0];
dice[0] = dice[1];
dice[1] = dice[2];
dice[2] = dice[3];
dice[3] = temp;
}
else if (dir == 4) {
int temp = dice[0];
dice[0] = dice[3];
dice[3] = dice[2];
dice[2] = dice[1];
dice[1] = temp;
}
if (arr[y][x] == 0)arr[y][x] = dice[2];
else {
dice[2] = arr[y][x];
arr[y][x] = 0;
}
cout << dice[0] << '\n';
}
return 0;
}
'백준' 카테고리의 다른 글
백준 소스코드 [C++] 13459 구슬 탈출 (0) | 2021.02.04 |
---|---|
백준 소스코드 [C++] 13460 구슬 탈출 2 (0) | 2021.02.04 |
백준 소스코드 [C++] 3190 뱀 (0) | 2021.02.03 |
백준 소스코드 [C++] 15686 치킨 배달 (0) | 2021.02.03 |
백준 소스코드 [C++] 1854 K번째 최단경로 찾기 (0) | 2021.02.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 부스트캠프 6기
- CompositionalLayout
- 컴퓨터 추상화
- IOS
- 다익스트라 시간복잡도
- WWDC21
- 코딩대회
- CPU와 Memory
- WWDC16
- MeTal
- 네트워크 플로우
- 포드 풀커슨 알고리즘
- 강한 순환 참조
- 벨만포드 시간복잡도
- WWDC17
- WWDC19
- 최단경로 문제
- observeOn
- 최단경로문제
- State Restoration
- rxswift
- 네트워크 유량
- 에드몬드 카프 알고리즘
- 벨만포드 알고리즘
- 최대 매칭
- mach-o
- test coverage
- Testable
- 최단경로 알고리즘
- HIG
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함