从后往前找第一个不是当前位置最大可能值的字母,将这个字母加一,往后依次的值为前一个字母加一。
参考代码:
#include<iostream> #include<cstdio> #include<algorithm> #include<string> #include<cmath> #include<vector> #include<set> #include<sstream> #include<cstring> #include<utility> using namespace std; typedef long long ll; typedef long l; const int N=1<<10+1; int s,t,w,cnt=5;char f[30]; int main(){ scanf("%d%d%d",&s,&t,&w);char c=getchar(); while(c<'a'||c>'z'){ c=getchar(); } f[1]=c; for(int i=2;i<=w;i++)scanf("%c",&f[i]); while(cnt--){ int cnt1=0; for(int i=w,j=t;i>0;i--,j--){ if(f[i]>='a'-1+j){ //cout<<f[i]<<(char)('a'-1+j); cnt1++; continue; } else{ f[i]++; //cout<<f[i]; for(int j=i+1;j<=w;j++)f[j]=f[j-1]+1; break; } } if(cnt1==w)break; for(int i=1;i<=w;i++)printf("%c",f[i]); cout<<endl; } }
0.0分
0 人评分
C二级辅导-进制转换 (C语言代码)浏览:788 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:836 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:643 |
C二级辅导-同因查找 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:615 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1141 |
A+B for Input-Output Practice (V) (C语言代码)浏览:625 |
【偶数求和】 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1257 |
WU-printf基础练习2 (C++代码)浏览:2007 |