Turtle

공부/프로그래밍 2014.06.24 14:31
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
85
86
87
88
89
90
91
92
93
94
95
96
#include <iostream>
#include <string>
 
using namespace std;
 
class Turtle{
public:
    int stat;
    int x;
    int y;
 
    Turtle();
    int stat_re(int );
    int move(int );
};
 
Turtle::Turtle(){
    x = 0;
    y = 0;
    stat = 1;
}
 
int Turtle::stat_re(int Case)
{
    stat += Case;
    if (stat < 1)
        stat = 4;
    else if (stat > 4)
        stat = 1;
    return 0;
}
 
int Turtle::move(int fb)
{
    switch (stat)
    {
    case 1 :
        y += fb;
        break;
    case 2 :
        x += fb;
        break;
    case 3 :
        y -= fb;
        break;
    case 4 : 
        x -= fb;
        break;
    }
    return 0;
}
 
int check(char c, Turtle &T)
{
    if (c == 'F')
        T.move(1);
    else if (c == 'B')
        T.move(-1);
    else if (c == 'R')
        T.stat_re(1);
    else if (c == 'L')
        T.stat_re(-1);
 
    return 0;
}
 
int update(int &x, int &y, Turtle &T)
{
    if (abs(T.x) > abs(x))
        x = T.x;
    if (abs(T.y) > abs(y))
        y = T.y;
 
    return 0;
}
 
 
int main(int argc, int * argv[])
{
    Turtle T = Turtle();
    string move;
    int l_x = 0, l_y = 0;
    
    cin >> move;
 
    int ml = move.length();
 
    for (int i = 0; i < ml; i++)
    {
        check(move.at(i), T);
        update(l_x, l_y, T);
    }
 
    cout << l_x*l_y << endl;
 
}


소스를 깔끔하게 짜는법을 생각해봐야할듯

2nd Week - 2011 ACM-ICPC Asia Regional - Daejeon - Problem L.pdf


저작자 표시 비영리 동일 조건 변경 허락
신고
Creative Commons License
Creative Commons License

'공부 > 프로그래밍' 카테고리의 다른 글

Golang 변수 초기화 + func init  (0) 2015.06.15
Rust - cargo를 이용한 rust 프로젝트 관리 (Cargo 사용법)  (0) 2015.02.21
Turtle  (0) 2014.06.24
이진탐색  (0) 2014.05.20
dll injector 관련 자료  (0) 2014.05.19
folder access api  (0) 2014.05.14

WRITTEN BY
Jen6
jen6의 개발, 보안 블로그 까끔가다 쓸대 있는걸 올리려고 노력중

받은 트랙백이 없고 , 댓글이 없습니다.
secret