九度OJ 题目1079:手机键盘

来源:互联网 发布:xshell linux版 编辑:程序博客网 时间:2024/04/30 04:52

题目链接:http://ac.jobdu.com/problem.php?pid=1079

解题时间:2013/4/13

程序源码:

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){    char str[101];    int len;    int time;    int i;    int place;//位于第几个按键    while(scanf("%s",str)!=EOF)    {        time=0;        len=strlen(str);        if(str[0]<'s')        {            place=(str[0]-'a')/3;            time=time+1+(str[0]-'a')%3;        }        else if(str[0]=='s')        {            place=5;            time+=4;        }        else if(str[0]<='v')        {            place=6;            time=time+str[0]-'s';        }        else        {            place=7;            time=time+str[0]-'v';        }        for(i=1; i<len; i++)        {            if(str[i]=='s')            {                if(place==5) time+=6;                else                {                    place=5;                    time+=4;                }            }            else if(str[i]>='t'&&str[i]<='v')            {                if(place==6)                {                    time=time+2+(str[i]-'s');                }                else                {                    place=6;                    time=time+(str[i]-'s');                }            }            else if(str[i]>='w')            {                if(place==7)                {                    time=time+2+(str[i]-'v');                }                else                {                    place=7;                    time=time+(str[i]-'v');                }            }            else            {                if((str[i]-'a')/3==place)                {                    time=time+3+(str[i]-'a')%3;                }                else                {                    place=(str[i]-'a')/3;                    time=time+1+(str[i]-'a')%3;                }            }        }        printf("%d\n",time);    }    return 0;}


 

原创粉丝点击