Отримання знань
дистанційна підтримка освіти школярів
P,MTHBGWB
Входные данные
Выходные данные
Пример входных данных
Пример выходных данных
Анализ условия и обсуждение идеи решения
Пример решения на C++:
#include "iostream"
#include "string"
using namespace std;
int main()
{
int N;
int i,j,k,l,Tlen=0,thiscode;
int Tcode[5000];
int RTcode[5000];
int len[1000]={0};
int code[100]={0};
int decode[10000];
char msg[1000];
code[65]=12;
code[66]=2111;
code[67]=2121;
code[68]=211;
code[69]=1;
code[70]=1121;
code[71]=221;
code[72]=1111;
code[73]=11;
code[74]=1222;
code[75]=212;
code[76]=1211;
code[77]=22;
code[78]=21;
code[79]=222;
code[80]=1221;
code[81]=2212;
code[82]=121;
code[83]=111;
code[84]=2;
code[85]=112;
code[86]=1112;
code[87]=122;
code[88]=2112;
code[89]=2122;
code[90]=2211;
code[95]=1122;
code[44]=1212;
code[46]=2221;
code[63]=2222;
for(i=0; i < 100; i++)
decode[code[i]]=i;
cin >> N;
for(i=0; i < N; i++){
cin >> msg;
cout << i+1 << ": ";
l=strlen(msg);
Tlen=0;
for(j=0; j < 1000; j++)
len[j]=0;
for(j=l-1; j > -1; j--){
thiscode=code[(int)msg[j]];
while(thiscode!=0){
Tcode[Tlen]=thiscode%10;
Tlen++;
len[j]++;
thiscode/=10;
}
}
for(j=0; j < Tlen; j++)
RTcode[j]=Tcode[Tlen-j-1];
Tlen=0;
for(j=0; j < l; j++){
thiscode=0;
for(k=0; k< len[l-j-1]; k++){
thiscode+=RTcode[Tlen];
thiscode*=10;
Tlen++;
}
thiscode/=10;
cout << (char)decode[thiscode];
}
cout << endl;
}
}
Попередня | Зміст | Наступна |
В системі:
гості - (1); користувачі -
(0)