Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
50732 | 冯诚阳 | 破译邮件 | C++ | Accepted | 1 MS | 272 KB | 1400 | 2023-07-12 16:30:45 |
#include<iostream> #include<cstring> using namespace std; int main() { int n, a[3];//记录数字 int k,w; char s[100]; char u[100];//记录结果 char v;//记录最后的数字 cin >> n; while (n--) { w = 0; k = 0; cin >> s; int m = strlen(s); for(int i=0;i<m;i++) { if (s[i]>='0' && s[i]<='9') { a[k++] = s[i] - '0'; } else if(s[i]=='-' && k) { if (k == 1) { u[w++] = a[0] - 1 + 'A'; k = 0; } else { u[w++] = 10 * a[0] + a[1] - 1 + 'A'; k = 0; } } else if (s[i] == '#' && k) { if (k == 1) { u[w++] = a[0] - 1 + 'A'; u[w++] = ' '; k = 0; } else if(k==2) { u[w++] = 10 * a[0] + a[1] - 1 + 'A'; u[w++] = ' '; k = 0; } } else if (s[i] == '#')//连续的“#”连续存空格 { u[w++] = ' '; } else { continue; }//连续的“-”跳过 } for (int i = 0; i < w; i++) { cout << u[i]; } if ((s[m - 1] >= '0' && s[m - 1] <= '9') && (s[m - 2] >= '0' && s[m - 2] <= '9')) { v = 10 * (s[m - 2] - '0') + (s[m - 1] - '0') - 1 + 'A'; cout << v; } else if (s[m - 1] >= '0' && s[m - 1] <= '9') { v = (s[m-1]-'0') - 1 + 'A'; cout << v; } cout << endl; } }