题目链接: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;
}