20分求助

P1098 [NOIP2007 提高组] 字符串的展开

1.字母比较反了(见第11行等). 2.数字得大于等于$'0'$. 3.一点小错误。 下面是已经AC代码: ```cpp #include<bits/stdc++.h> using namespace std; long long P1,P2,P3; string k; void tian(char s,char z){ if(s>=z) cout<<'-'; else{ if(P3==1){ if(P1==1&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<i; } } } if(P1==3&&s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<"*"; } } } if(P1==1) { if(s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<i; } } } } if(P1==2) { if(s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<i; } } } } if(P1==2&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<char(i-32); } } } if(P1==3&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<"*"; } } } } if(P3==2) { if(P1==1&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=z-1;i>s;i--) { for(int j=0;j<P2;j++) { cout<<i; } } } if(P1==2&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=z-1;i>s;i--) { for(int j=0;j<P2;j++) { cout<<char(i-32); } } } if(P1==3&&s>='a'&&s<='z'&&z>='a'&&z<='z') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<"*"; } } } if(P1==3&&s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=s+1;i<z;i++) { for(int j=0;j<P2;j++) { cout<<"*"; } } } if(P1==1) { if(s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=z-1;i>s;i++) { for(int j=0;j<P2;j++) { cout<<i; } } } } if(P1==2) { if(s>='0'&&s<='9'&&z<='9'&&z>='0') { for(char i=z-1;i>s;i--) { for(int j=0;j<P2;j++) { cout<<i; } } } } } } } int main() { // freopen("expand.in","r",stdin); // freopen("expand.out","w",stdout); cin>>P1>>P2>>P3>>k; for(int i=0;i<k.size();i++) { if(k[i]!='-') { cout<<k[i]; } else { if(k[i-1]+1!=k[i+1]) { if(k[i-1]>='a'&&k[i+1]<='z'&&k[i-1]<='z'&&k[i+1]>='a') { tian(k[i-1],k[i+1]); } else { if(k[i-1]>='0'&&k[i+1]<='9'&&k[i-1]<='9'&&k[i+1]>='0') { tian(k[i-1],k[i+1]); } else { cout<<'-'; } } } } } return 0; } ``` 代码是真的有亿点长。
by 2021zjhs005 @ 2023-10-05 13:22:14


谢谢大佬, 感激涕零。
by _zyc_ @ 2023-10-05 13:37:10


|