-
Notifications
You must be signed in to change notification settings - Fork 0
/
14503_로봇_청소기.cpp
81 lines (81 loc) · 1.35 KB
/
14503_로봇_청소기.cpp
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
//#include<iostream>
//#include<queue>
//using namespace std;
//
//typedef struct
//{
// int y;
// int x;
//}Pos;
//
//int arr[51][51];
//
//int N, M;
//int curY, curX, curD;
//int result = 0;
//
//Pos moveDir[] = { {-1, 0}, {0, 1}, {1, 0}, {0, -1} };
//Pos backDir[] = { {1, 0},{0, -1},{-1, 0},{0, 1} };
//
//void DFS(Pos pos, int curD)
//{
//
// if (arr[pos.y][pos.x] == 1)
// {
// return;
// }
// if (arr[pos.y][pos.x] == 0)
// {
// arr[pos.y][pos.x] = 2;
// result++;
// }
//
// for (int i = 0; i < 4; i++)
// {
// int nextD = (curD - 1 == -1) ? 3 : curD - 1;
//
// int nextY = pos.y + moveDir[nextD].y;
// int nextX = pos.x + moveDir[nextD].x;
//
// if (arr[nextY][nextX] == 0)
// {
// DFS({ nextY, nextX }, nextD);
// return;
// }
// else
// {
// curD = nextD;
// }
// }
//
// //int backY = pos.y + (moveDir[(curD + 2) % 4].y);
// //int backX = pos.x + (moveDir[(curD + 2) % 4].x);
// int backY = pos.y + backDir[curD].y;
// int backX = pos.x + backDir[curD].x;
//
//
// DFS({ backY, backX }, curD);
//
//
//}
//
//int main(void)
//{
// cin >> N >> M;
//
// cin >> curY >> curX >> curD;
//
// for (int i = 0; i < N; i++)
// {
// for (int j = 0; j < M; j++)
// {
// cin >> arr[i][j];
// }
// }
//
// DFS({ curY, curX }, curD);
//
// cout << result;
//
// return 0;
//}