zoukankan      html  css  js  c++  java
  • hdu 1035 (usage of sentinel, proper utilization of switch and goto to make code neat) 分类: hdoj 2015-06-16 12:33 28人阅读 评论(0) 收藏

    as Scott Meyers said in his book Effective STL,
    “My advice on choosing among the sorting algorithms is to make your selection based on what you need to accomplish, not on performance considerations. If you choose an algorithm that does only what you need to do (e.g., a partition instead of a full sort), you’re likely to end up with code that’s not only the clearest expression of what you want to do, it’s also the most efficient way to accomplish it using the STL.”
    Code the problem as it be maybe the most efficient way,
    like the TEX principle, what you think is what you get.

    #include <cstdio>
    #include <algorithm>
    
    #define MAXSIZE 12
    
    char grid[MAXSIZE][MAXSIZE];
    
    int main() {
        //freopen("input.txt","r",stdin);
        int nrow,ncol,ypos,xpos, i;
        char *p;
        while(scanf("%d%d%d",&nrow,&ncol,&ypos)!=EOF && nrow>0) {
            memset(grid,0,sizeof(grid));
            for(i=1;i<=nrow;++i) { scanf("%s",&grid[i][1]); }
            for(xpos=1,i=1;;++i) {
                p=&grid[xpos][ypos];
                switch(*p) {
                case 'E': ++ypos; *p=i; break;
                case 'W': --ypos; *p=i; break;
                case 'N': --xpos; *p=i; break;
                case 'S': ++xpos; *p=i; break;
                case '': goto EXITCODE0;
                default: goto EXITCODE1;
                }
            }
    EXITCODE0: printf("%d step(s) to exit
    ",i-1); continue;
    EXITCODE1: printf("%d step(s) before a loop of %d step(s)
    ",*p-1,i-*p); continue;
        }
        return 0;
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。// p.s. If in any way improment can be achieved, better performance or whatever, it will be well-appreciated to let me know, thanks in advance.

  • 相关阅读:
    Const is faster than static const
    创新点子:博客图文混编工具
    Performance Optimization Articles
    Notes on distributed rendering
    Tested distancebased sorting and axisbased sorting
    How do exes/dlls generated with the /platform:x switch interact?
    SQL中判断字符串中包含字符的方法
    C#获取指定IP的主机名
    将ArrayList设为wpf的数据源
    WPF的DataGrid中DataGridHyperlinkColumn的用法
  • 原文地址:https://www.cnblogs.com/qeatzy/p/4716231.html
Copyright © 2011-2022 走看看