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.

  • 相关阅读:
    基于HTTP和TFTP的PXE批量自动化安装Linux系统
    使用U盘进行Linux系统的安装
    CentOS 7单用户模式修改root密码
    LVS的调度算法分析
    linux LVS DR模式配置
    Nagios的客户端的安装
    Nagios监控系统的安装
    Linux内核升级
    redhat linux使用Centos yum源
    Juniper srx防火墙NAT配置
  • 原文地址:https://www.cnblogs.com/qeatzy/p/4716231.html
Copyright © 2011-2022 走看看