zoukankan      html  css  js  c++  java
  • usaco-5.2-snail-passed

    有点水:

    /*
    ID: qq104801
    LANG: C++
    TASK: snail
    QQ:104804687
    */
    
    #include <iostream>
    #include <fstream>
    #include <cstring>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <algorithm>
    #include <cmath>
    
    using namespace std;
    
    #define loop(i,n) for(int i=0;i<(n);i++)
    #define loop2(i,n) for(int i=1;i<=(n);i++)
    const int maxn=205;
    const int inf=1<<30;
    
    int n,m,k;
    int a[maxn][maxn];
    int go[4][2]={{0,-1},{1,0},{0,1},{-1,0}};
    int ans;
    
    void dfs(int y,int x,int turn,int step)
    {
      if(step-1>ans)ans=step-1;
      if(a[y][x]==1)
      {
        y-=go[turn][1];
        x-=go[turn][0];
        k=(turn+1)%4;
        if(!a[y+go[k][1]][x+go[k][0]])
          dfs(y+go[k][1],x+go[k][0],k,step);
        k=(turn+3)%4;
        if(!a[y+go[k][1]][x+go[k][0]])
          dfs(y+go[k][1],x+go[k][0],k,step);
        return;
      }
      if(a[y][x]==2)return;
      a[y][x]=2;
      dfs(y+go[turn][1],x+go[turn][0],turn,step+1);
      a[y][x]=0;
    }
    
    void test()
    {   
      freopen("snail.in","r",stdin);  
      freopen("snail.out","w",stdout); 
      cin>>n>>m;  
      for(int i=0;i<=n+1;i++)a[0][i]=a[n+1][i]=a[i][0]=a[i][n+1]=1;
      int ii;
      char c;
      while(m--)
      {
        cin>>c>>ii;
        a[ii][c-'A'+1]=1;
      }
      ans=0;
      dfs(1,1,1,1);
      dfs(1,1,2,1);
      cout<<ans<<endl;
    }
    
    int main () 
    {        
        test();        
        return 0;
    }

    test data:

    USACO Training
    Grader Results     
    6 users online
    CHN/2 MYS/1 NZL/1 TJK/1 USA/1
    
    USER: cn tom [qq104801]
    TASK: snail
    LANG: C++
    
    Compiling...
    Compile: OK
    
    Executing...
       Test 1: TEST OK [0.003 secs, 3536 KB]
       Test 2: TEST OK [0.005 secs, 3536 KB]
       Test 3: TEST OK [0.005 secs, 3536 KB]
       Test 4: TEST OK [0.008 secs, 3536 KB]
       Test 5: TEST OK [0.005 secs, 3536 KB]
       Test 6: TEST OK [0.005 secs, 3536 KB]
       Test 7: TEST OK [0.005 secs, 3536 KB]
       Test 8: TEST OK [0.005 secs, 3536 KB]
       Test 9: TEST OK [0.005 secs, 3536 KB]
       Test 10: TEST OK [0.011 secs, 3536 KB]
       Test 11: TEST OK [0.005 secs, 3536 KB]
       Test 12: TEST OK [0.041 secs, 3536 KB]
    
    All tests OK.
    
    YOUR PROGRAM ('snail') WORKED FIRST TIME! That's fantastic -- and a rare thing. Please accept these special automated congratulations.
    
    Here are the test data inputs:
    
    ------- test 1 [length 16 bytes] ----
    8 4
    E2
    A6
    G1
    F5
    ------- test 2 [length 16 bytes] ----
    5 4
    C1
    B4
    D5
    E4
    ------- test 3 [length 35 bytes] ----
    8 10
    A3
    B1
    B6
    C5
    D2
    E7
    F4
    G1
    G6
    H8
    ------- test 4 [length 37 bytes] ----
    10 10
    A2
    A9
    B2
    C7
    D4
    F5
    G8
    H3
    I10
    J1
    ------- test 5 [length 33 bytes] ----
    10 9
    A9
    B2
    C7
    D4
    F5
    G8
    H3
    I10
    J1
    ------- test 6 [length 48 bytes] ----
    10 14
    A3
    C1
    B4
    D2
    C5
    E3
    D6
    F4
    E7
    G5
    F8
    H6
    G9
    I7
    ------- test 7 [length 81 bytes] ----
    15 22
    I1
    C2
    M2
    G3
    K3
    D5
    N5
    F6
    J6
    B7
    H8
    G9
    I9
    B10
    N10
    E11
    K11
    F13
    J13
    C14
    M14
    H15
    ------- test 8 [length 67 bytes] ----
    15 18
    I1
    B2
    N2
    H3
    C5
    M5
    H6
    A7
    O7
    G9
    I9
    H10
    A11
    O11
    G13
    I13
    A15
    O15
    ------- test 9 [length 76 bytes] ----
    20 20
    C1
    G1
    K1
    O1
    S1
    T1
    A3
    A7
    A11
    A15
    A19
    A20
    E20
    I20
    M20
    Q20
    T5
    T9
    T13
    T17
    ------- test 10 [length 136 bytes] ----
    20 37
    F1
    I1
    Q1
    D2
    O2
    A3
    L4
    S4
    P5
    K6
    A7
    C7
    E7
    I7
    K7
    Q8
    F9
    Q9
    J10
    L10
    E11
    O11
    I12
    F13
    K13
    A14
    P14
    R14
    P15
    I16
    E17
    S17
    F18
    L18
    T18
    H19
    E20
    ------- test 11 [length 183 bytes] ----
    120 48
    T1
    B2
    F3
    R3
    U3
    L4
    E5
    J6
    M6
    D8
    K8
    F9
    A11
    C11
    M10
    L11
    P6
    R7
    O8
    Q9
    N10
    P11
    M12
    O13
    L14
    N15
    K16
    M17
    J18
    L19
    I20
    K21
    H22
    J23
    G24
    I25
    F26
    H27
    E28
    G29
    D30
    F31
    C32
    E33
    B34
    D35
    A36
    C37
    ------- test 12 [length 271 bytes] ----
    120 72
    A4
    A8
    A12
    A16
    A20
    A24
    C4
    E6
    F8
    H10
    I12
    K14
    L16
    N18
    O20
    Q22
    R24
    S25
    T26
    D1
    E2
    F3
    G4
    G5
    H6
    I7
    J8
    J9
    K10
    L11
    M12
    M13
    N14
    O15
    P16
    P17
    Q18
    R19
    S20
    S21
    T22
    U23
    V24
    H2
    J4
    K6
    M8
    N10
    P12
    Q14
    S16
    T18
    V20
    Y2
    Y6
    Y10
    Y14
    Y18
    Y22
    Y26
    Z3
    Z5
    Z7
    Z9
    Z11
    Z13
    Z15
    Z17
    Z19
    Z21
    Z23
    Z25
    
    Keep up the good work!
    Thanks for your submission!
    View Code
    /***********************************************

    看书看原版,原汁原味。

    不会英文?没关系,硬着头皮看下去慢慢熟练,才会有真正收获。

    没有原书,也要网上找PDF来看。

    网上的原版资料多了去了,下载东西也到原始下载点去看看。

    你会知其所以然,呵呵。

    ***********************************************/

  • 相关阅读:
    二十四种设计模式:观察者模式(Observer Pattern)
    二十四种设计模式:工厂方法模式(Factory Method Pattern)
    Java迷题:等于,还是不等于?
    UCenter创始人、Discuz!创始人、管理员账号的认知(转)
    Internet Explorer 无法启用 JavaScript 怎么办?
    IIS配置PHP环境(快速最新版)(转载+自创)
    零基础学php的自学
    PHP实体层基础类
    PHP数据库链接类(PDO+Access)
    C# Memcached 缓存
  • 原文地址:https://www.cnblogs.com/dpblue/p/4003453.html
Copyright © 2011-2022 走看看