UVA 10921 Find the Telephone

来源:互联网 发布:网站安全监测软件 编辑:程序博客网 时间:2024/05/20 05:03

Problem B - Find the Telephone

Time Limit: 1 second

In some places is common to remember a phone number associating its digits to letters.In this way the expressionMY LOVE means 69 5683. Of course there are someproblems, because some phone numbers can not form a word or a phrase and the digits1 and0 are not associated to any letter.

Your task is to read an expression and find the corresponding phone number based onthe table below. An expression is composed by the capital letters (A-Z), hyphens (-) and the numbers1 and 0.

LettersNumberABC2DEF3GHI4JKL5MNO6PQRS7TUV8WXYZ9

Input

The input consists of a set of expressions. Each expression is in a line by itselfand hasC characters, where 1 ≤ C ≤ 30. The input isterminated by enf of file (EOF).

Output

For each expression you should print the corresponding phone number.

Sample Input

1-HOME-SWEET-HOMEMY-MISERABLE-JOB

Sample Output

1-4663-79338-466369-647372253-562

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include <queue>using namespace std;#define maxn 35#define inf 0x7ffffffpair <int ,int > p;int arr[27];char num[maxn];int n;//int cmpD(Node a,Node b){//    return a.h > b.h;//}//int cmpI(Node a,Node b){//    return a.h < b.h;//}int main(){    for(int i = 0; i < 18;i++){        arr[i] = i / 3 + 2;    }    arr[18] = 7;    arr[19] = arr[20] = arr[21] = 8;    arr[22] = arr[23] = arr[24] = arr[25] = 9;    while(gets(num)){        for(int i = 0; num[i];i++){            if(num[i] >= 'A' && num[i] <= 'Z'){                printf("%d",arr[num[i] - 'A']);            }else{                printf("%c",num[i]);            }        }        printf("\n");    }    return 0;}




0 0
原创粉丝点击