南郵OJ 1174 G小Kのラブレター
G小Kのラブレター
時間制限(通常/Java):
1000 MS/3000 MS運転メモリ制限:65536 KByte
総提出:558試験合格:72
試合の説明
今Kさんはメールで彼女に告白する必要があります.指で一つ一つ入力すると疲れます.そこでKさんはあなたを見つけて、優秀なプログラマーが、携帯電話のキーボード入力をシミュレートするためにプログラムを書いてあげました.
T 9入力方式は携帯電話でよく使われる入力方式である.26文字の英語のアルファベットが上図のように並んでいる.例えば、アルファベットBを入力するときは、2回押す必要があります.同じボタンに連続的に入力するアルファベットが必要な場合は、停止する必要があります.引用符を除くスペース'(引用符を除く)で代用する.例えば、私たちがAAを入力するときは、2.連続入力22はアルファベットBを表す.
入力
入力1行目にはN(1次のN行は、各行がKの入力する情報である.文字列の長さは1000を超えません.
しゅつりょく
各行入力に対して、出力に対応
「Case#x:」にメッセージ対応のキーボード入力を接続する.
サンプル入力
4 hi yes foo bar hello world
サンプル出力
Case #1: 44 444 Case #2: 999337777 Case #3: 333666 6660 022 2777 Case #4: 4433555 555666096667775553
ヒント
テーマソース
NUAA_馮晋文
時間制限(通常/Java):
1000 MS/3000 MS運転メモリ制限:65536 KByte
総提出:558試験合格:72
試合の説明
今Kさんはメールで彼女に告白する必要があります.指で一つ一つ入力すると疲れます.そこでKさんはあなたを見つけて、優秀なプログラマーが、携帯電話のキーボード入力をシミュレートするためにプログラムを書いてあげました.
T 9入力方式は携帯電話でよく使われる入力方式である.26文字の英語のアルファベットが上図のように並んでいる.例えば、アルファベットBを入力するときは、2回押す必要があります.同じボタンに連続的に入力するアルファベットが必要な場合は、停止する必要があります.引用符を除くスペース'(引用符を除く)で代用する.例えば、私たちがAAを入力するときは、2.連続入力22はアルファベットBを表す.
入力
入力1行目にはN(1
しゅつりょく
各行入力に対して、出力に対応
「Case#x:」にメッセージ対応のキーボード入力を接続する.
サンプル入力
4 hi yes foo bar hello world
サンプル出力
Case #1: 44 444 Case #2: 999337777 Case #3: 333666 6660 022 2777 Case #4: 4433555 555666096667775553
ヒント
テーマソース
NUAA_馮晋文
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
int n,caseNo,i,len;
string s;
map<char,string> csMap;
csMap.insert(make_pair(' ',"0"));
csMap.insert(make_pair('a',"2"));
csMap.insert(make_pair('b',"22"));
csMap.insert(make_pair('c',"222"));
csMap.insert(make_pair('d',"3"));
csMap.insert(make_pair('e',"33"));
csMap.insert(make_pair('f',"333"));
csMap.insert(make_pair('g',"4"));
csMap.insert(make_pair('h',"44"));
csMap.insert(make_pair('i',"444"));
csMap.insert(make_pair('j',"5"));
csMap.insert(make_pair('k',"55"));
csMap.insert(make_pair('l',"555"));
csMap.insert(make_pair('m',"6"));
csMap.insert(make_pair('n',"66"));
csMap.insert(make_pair('o',"666"));
csMap.insert(make_pair('p',"7"));
csMap.insert(make_pair('q',"77"));
csMap.insert(make_pair('r',"777"));
csMap.insert(make_pair('s',"7777"));
csMap.insert(make_pair('t',"8"));
csMap.insert(make_pair('u',"88"));
csMap.insert(make_pair('v',"888"));
csMap.insert(make_pair('w',"9"));
csMap.insert(make_pair('x',"99"));
csMap.insert(make_pair('y',"999"));
csMap.insert(make_pair('z',"9999"));
cin>>n;
getchar();
for(caseNo=1; caseNo<=n; caseNo++){
getline(cin,s);
len = (int)s.length();
cout<<"Case #"<<caseNo<<": "<<csMap[s[0]];
for(i=1;i<len;i++){
if(csMap[s[i-1]][ csMap[s[i-1]].length()-1 ] == csMap[s[i]][0]){
cout<<' ';
}
cout<<csMap[s[i]];
}
cout<<endl;
}
}