Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
难道这样也错了吗、?????#include<stdio.h> #include<string.h> int main() { int t,p,w; int i,j,len,time,num=0; char str[1010],prev; char code[]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9}; while(scanf("%d%d%d",&t,&p,&w)!=EOF) { if(num++>t) break; //如果测试的案例超过输入的 则需退出循环 getchar(); gets(str); len=strlen(str); prev='\0'; //保存前面的字符,若现在的字符与前面的字符相等则时间上需要再加上10s time=0; for(i=0;i<len;i++) { time+=2; if(code[str[i]-'A']==prev) { time+=10; j=1; while(code[str[i]-'A'-j]&&code[str[i]-'A'-j]==prev)//求出此字符需要按的次数 即需要等待的时间time { time+=2; j++; } } else { j=1; while(str[i]-'A'>=0&&code[str[i]-'A'-j]==code[str[i]-'A']) { time+=2; j++; } } if(str[i]==' ') prev=' '; else prev=code[str[i]-'A']; } printf("%d\n",time); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator