2618 핸드폰 키보드
모두 가 그 9 키 의 휴대 전화 키 보드 를 본 적 이 있 을 것 이다. 키보드 의 각 자모의 분 포 는 아래 그림 과 같다.
우리 가 이런 키보드 로 자 모 를 입력 할 때, 어떤 자모 에 대해 서 는 종종 여러 번 눌 러 야만 입력 할 수 있다.
a, b, c 모두 "2" 키 에 입력 a 한 번 만 누 르 고 입력 하면 됩 니 다. c 세 번 연속 으로 눌 러 야 합 니 다.
여러 자 모 를 연속 으로 입력 하 는 규칙 은 다음 과 같 습 니 다.
1. 앞 뒤 두 글자 가 같은 버튼 에 없 으 면 앞 글 자 를 입력 한 후에 다음 글 자 를 직접 입력 할 수 있 습 니 다. 예 를 들 어 ad. 키보드 두 번 눌 러 야 돼, kz. 필요 하 다 6 차례
2. 앞 뒤 두 글자 가 같은 버튼 에 있 으 면 앞 글 자 를 입력 한 후에 시간 을 기 다 려 야 다음 글 자 를 입력 할 수 있 습 니 다. 예 를 들 어 ac, 입력 완료 a 이후, 잠시 기 다 려 야 입력 할 수 있 습 니 다. c。
지금 은 키 보드 를 한 번 누 를 때마다 한 시간 이 걸 리 고 기다 리 는 시간 이 두 시간 이 걸린다 고 가정 한다.
현재 소문 자 만 포 함 된 문자열 을 보 여 주 며 입력 에 걸 리 는 시간 을 계산 합 니 다.
입력
여러 그룹의 테스트 데 이 터 를 포함 하여 각 그룹의 테스트 데 이 터 를 입력 하 십시오:
소문 자 만 포함 하 는 문자열 로 입력 하 십시오. 문자열 의 길 이 는 100 을 넘 지 않 습 니 다.
출력
각 그룹의 테스트 데이터 에 대해 출력 에 걸 리 는 시간.
예제 입력
bob
www
예제 출력
7
7
제시 하 다.
근원
'사 창 배' 산동이공대학 제5 회 ACM 프로 그래 밍 경연
#include
int pan (char a)
{
if (a >= 'a' && a<= 'c')
return 2;
else if (a >= 'd' && a<= 'f')
return 3;
else if (a >= 'g' && a<= 'i')
return 4;
else if (a >= 'j' && a<= 'l')
return 5;
else if (a >= 'm' && a<= 'o')
return 6;
else if (a >= 'p' && a<= 's')
return 7;
else if (a >= 't' && a<= 'v')
return 8;
else
return 9;
}
int shu (char a)
{
switch (a)
{
case 'a':
case 'd':
case 'g':
case 'j':
case 'm':
case 'p':
case 't':
case 'w':
return 1;
break;
case 'b':
case 'e':
case 'h':
case 'k':
case 'n':
case 'q':
case 'u':
case 'x':
return 2;
break;
case 'c':
case 'f':
case 'i':
case 'l':
case 'o':
case 'r':
case 'v':
case 'y':
return 3;
break;
case 's':
case 'z':
return 4;
break;
}
}
int main()
{
char a[110] = {'\0'};
char *p = a;
int ji = 0;
int sum = 0;
while (gets (a) != NULL)
{
p = a;
sum = 0;
ji = pan (*p);
sum += shu (*p);
//printf ("%d
",sum);
p++;
while (*p != '\0')
{
if (ji != pan(*p))
{
sum += shu(*p);
//printf ("%d
",sum);
ji = pan(*p);
p++;
}
else
{
sum += 2 + shu (*p);
p++;
}
}
printf ("%d
",sum);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdoj1006--Tick and TickA hand is happy if it is at least D degrees from any of the rest. Input The input is terminated with a D of -1. For each...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.