Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
153243 冯诚阳 字符串展开 C++ Accepted 1 MS 276 KB 1934 2026-05-10 15:52:57

Tests(6/6):


Code:

#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ string a; int p1,p2,p3; cin>>p1>>p2>>p3; cin>>a; for(int i=0;i<a.size();i++){ if(a[i]=='-'){ if((!(a[i+1]>='0'&&a[i+1]<='9')||!(a[i-1]>='0'&&a[i-1]<'9')) && (!(a[i+1]>='a'&&a[i+1]<='z')||!(a[i-1]>='a'&&a[i-1]<'z'))) cout<<a[i]; else if(a[i+1]<=a[i-1]) cout<<a[i]; else if(a[i+1]-a[i-1]==1) continue; else if(p3==1){ for(char k=a[i-1]+1;k<a[i+1];k++) for(int j=1;j<=p2;j++){ if(p1==1) cout<<char(k); else if(p1==2){ if(k>='0'&&k<='9') cout<<char(k); else cout<<char(k-32); } else cout<<'*'; } } else if(p3==2){ for(char k=a[i+1]-1;k>=a[i-1]+1;k--){ for(int j=1;j<=p2;j++){ if(p1==1) cout<<char(k); else if(p1==2){ if(k>='0'&&k<='9') cout<<char(k); else cout<<char(k-32); } else cout<<'*'; } } } } else cout<<a[i]; } return 0; }