题解
【基础】破译文件
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ string s; cin>>s; int num=0; string ans=""; for(int j=0;j<s.length();j++){ if(isdigit(s[j])){ num=num*10+(s[j]-'0'); }else if(s[j]=='-'){// 拆分:单独处理'-' if(num > 0){ ans+=('A'+num-1); num=0; } }else if(s[j]=='#'){// 单独处理'#' if(num > 0){ ans+=('A'+num-1); num=0; } ans += ' '; } } if(num>0)ans+=('A'+num-1); //删掉末尾多余空格(关键修复) while(!ans.empty() && ans.back()==' '){ ans.pop_back(); } cout<<ans<<endl; } return 0; }
- 1