#include <stdio.h> int sum=0; void f(int a[],int c[],int s,int t,int w) { if(sum>=5||a[0]==c[t-w]) return; int i,j; for(i=w-1,j=t-1;i>=0;i--,j--) if(c[j]>a[i]) { int temp=a[i]; for(i,j=1;i<w;i++,j++) a[i]=temp+j; for(i=0;i<w;i++) printf("%c",a[i]); sum++; f(a,c,s,t,w); break; } } int main() { int a[26]={0}; int c[26]; int s,t,w; int i; scanf("%d %d %d",&s,&t,&w); fflush(stdin); for(i=0;i<w;i++) scanf("%c",&a[i]); for(i=0;i<26;i++) c[i]=i+97; f(a,c,s,t,w); return 0; }
原文:http://www.cnblogs.com/lgy123/p/3754898.html