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 | 31 |
Tags
- 제어반전
- data
- goland
- 안드로이드
- Java
- IntelliJ
- service
- vscode
- 17837
- 단축키
- 두 동전
- intent
- git
- ubuntu
- Jenknis
- 알고리즘
- 16197
- insert
- 프로그래머스
- activity
- github
- 데이터
- 백준
- Android
- spring
- broadcastreceiver
- 데이터전달
- mysql
- 큐빙
- Algorithm
Archives
- Today
- Total
해보자
백준_14499_주사위굴리기 본문
#include <iostream>
using namespace std;
int N, M;
int map[20][20];
int main() {
int dice[6] = { 0 };
int t_dice[6] = { 0 };
int diceMap[4][6] = {
{ 4, 2, 1, 6, 5, 3},
{ 3, 2, 6, 1, 5, 4},
{ 5, 1, 3, 4, 6, 2},
{ 2, 6, 3, 4, 1, 5}
};
pair<int, int> dir[4] = { {0,1}, {0,-1} ,{-1,0}, {1,0} };
int x, y, K;
// 입력
cin >> N >> M >> y >> x >> K;
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++)
cin >> map[i][j];
for (int i = 0; i < K; i++) {
int t;
cin >> t; // 방향 입력.
t--;
y += dir[t].first; // 좌표 설정
x += dir[t].second;
if (!(x >= 0 && y >= 0 && y < N && x < M)) { // map 범위 내인가?
y -= dir[t].first;
x -= dir[t].second;
continue;
}
for (int i = 0; i < 6; i++)
t_dice[i] = dice[i];
for (int i = 0; i < 6; i++)
dice[i] = t_dice[diceMap[t][i]-1];
// 상단 점수 출력
cout << dice[0] << endl;
if (map[y][x] == 0)
map[y][x] = dice[5];
else {
dice[5] = map[y][x];
map[y][x] = 0;
}
}
return 0;
}
'C++ > Solve & Think' 카테고리의 다른 글
백준_1193_분수 찾기 (0) | 2020.12.13 |
---|---|
백준_1929_소수 구하기 (0) | 2020.11.25 |
백준_5373번_큐빙 (0) | 2020.11.24 |
백준_17837번_새로운게임2 (0) | 2020.10.10 |
백준_16236번_아기상어 (0) | 2020.10.09 |