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
- IFileDialog
- C++
- softeer
- Programmers
- baekjoon
- 1563
- UnrealEngine4
- DeferredRendering
- 오블완
- UE5
- winapi
- Unreal Engine5
- GeeksForGeeks
- C
- 팰린드롬 만들기
- directx
- 언리얼엔진5
- algorithm
- 2294
- RVO
- UnrealEngine5
- NRVO
- const
- Frustum
- 프로그래머스
- 백준
- RootMotion
- DirectX11
- 줄 세우기
- 티스토리챌린지
Archives
- Today
- Total
Game Develop
[Algorithm] Baekjoon 16928번 : 뱀과 사다리 게임 본문
https://www.acmicpc.net/problem/16928
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
struct Node
{
int num;
int count;
};
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, m;
int x, y; // x < y
int u, v; // u > v
map<int, int> routes;
bool visited[101] = { false };
cin >> n >> m;
for (int i = 0; i < n; i++)
{
cin >> x >> y;
routes[x] = y;
}
for (int i = 0; i < m; i++)
{
cin >> u >> v;
routes[u] = v;
}
queue<Node> q;
q.push({ 1,0 });
int answer = 1000000;
while (!q.empty())
{
Node curNode = q.front();
q.pop();
int curNum = curNode.num;
int curCount = curNode.count;
if (curNum == 100)
{
cout << curCount;
break;
}
for (int i = 1; i <= 6; i++)
{
int nextNum = curNum + i;
if (nextNum > 100) continue;
if (routes[nextNum] && !visited[nextNum])
{
visited[nextNum] = true;
q.push({ routes[nextNum], curCount+1 });
continue;
}
if (routes[nextNum] && !visited[nextNum])
{
visited[nextNum] = true;
q.push({ routes[nextNum], curCount+1 });
continue;
}
if (!visited[nextNum])
{
visited[nextNum] = true;
q.push({ nextNum, curCount + 1 });
}
}
}
return 0;
}
|
cs |
뭔가 설명이 이것저것 써져있긴 한데, 결국 칸마다의 상태는 총 3개가 있고 반드시 한개의 상태만이 존재한다.
사다리이동하는 칸이거나, 뱀이동을 하는 칸이거나, 그냥 평범한 이동을 하는 칸이거나.
그래서 처음 인풋으로 주어지는 사다리와 뱀이동의 정보에 관해서 맵변수를 따로 선언해서 하긴 했었는데, 어차피 하나의 상태만이 존재하기 때문에 변수 하나로 둘 다 입력을 받았다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Algorithm] Baekjoon 7662번 : 이중 우선순위 큐 (0) | 2022.10.21 |
---|---|
[Algorithm] Baekjoon 7569번 : 토마토 (0) | 2022.10.21 |
[Algorithm] Baekjoon 5430번 : AC (0) | 2022.10.20 |
[Algorithm] Baekjoon 1992번 : 쿼드트리 (0) | 2022.10.19 |
[Algorithm] Baekjoon 1389번 : 케빈 베이컨의 6단계 법칙 (0) | 2022.10.19 |