1 solutions
-
0
C++ :
#include<iostream> #include<cstring> using namespace std; int p1,p2,p3; string s; bool f=false; void e1(int i); void e2(int i,int x,int y); void in(); void out(); int main() { in(); int len=s.size(); for(int i=1;i<=len;i++) { if(s[i-1]=='-') { e1(i); } else { cout<<s[i-1]; } } return 0; } void in(){ cin>>p1>>p2>>p3; cin>>s; } void e1(int i){ int x=s[i]-s[i-2]; if(x>0) { if(isalpha(s[i])&&isalpha(s[i-2])) { if(x>1) { e2(i,x,1); } } else { if(isdigit(s[i])&&isdigit(s[i-2])) { if(x>1) { e2(i,x,2); } } else { cout<<'-'; } } } else { cout<<'-'; } } void e2(int i,int x,int y){ if(p3==1)//zhengxu { if(y==1)//zimu { if(p1==1) { for(int j=s[i-2]+1;j<s[i];j++) { for(int k=1;k<=p2;k++) { cout<<char(j); } } } if(p1==2) { for(int j=s[i-2]+1;j<s[i];j++) { for(int k=1;k<=p2;k++) { cout<<char(j-32); } } } if(p1==3) { for(int j=1;j<=(x-1)*p2;j++) { cout<<'*'; } } } if(y==2)//feizimu { if(p1==3) { for(int j=1;j<=(x-1)*p2;j++) { cout<<'*'; } } else { for(int j=s[i-2]+1;j<s[i];j++) { for(int k=1;k<=p2;k++) { cout<<char(j); } } } } } else//daoxu { if(y==1)//zimu { if(p1==1) { for(int j=s[i]-1;j>s[i-2];j--) { for(int k=1;k<=p2;k++) { cout<<char(j); } } } if(p1==2) { for(int j=s[i]-1;j>s[i-2];j--) { for(int k=1;k<=p2;k++) { cout<<char(j-32); } } } if(p1==3) { for(int j=1;j<=(x-1)*p2;j++) { cout<<'*'; } } } if(y==2)//feizimu { if(p1==3) { for(int j=1;j<=(x-1)*p2;j++) { cout<<'*'; } } else { for(int j=s[i]-1;j>s[i-2];j--) { for(int k=1;k<=p2;k++) { cout<<char(j); } } } } } }
- 1
Information
- ID
- 17929
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By