提交时间:2024-08-20 21:10:21
运行 ID: 171984
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(){ int ch[30]; char num[30]; int n,m,count,c=0,aa; scanf("%d%d%d",&n,&m,&count); getchar(); memset(ch,0,sizeof(ch)); scanf("%s",num); for(int i=0;i<count;i++)ch[num[i]-'a'+1]=1; while(1){ if(c==5)break; aa=m; while(ch[aa]==1)aa--; if(aa==m-count)break; for(int i=26;i>=1;i--){ if(ch[i]&&i<m&&ch[i+1]==0){ ch[i++]=0; ch[i]=1; for(int j=1;j<=26;j++{ if(ch[j])printf("%c",'a'+j-1); } printf("\n"); c++; break; } else if(ch[i]==0&&ch[i+1]==1){ while(!ch[--i]) ; ch[i++]=0; ch[i]=1; int cc=1; for(int j=i+1;j<=26;j++){ if(ch[j]){ ch[j]=0; ch[i+cc]=1; cc++; } } for(int j=1;j<=26;j++){ if(ch[j])printf("%c",'a'+j-1); } printf("\n"); c++; break; } } } }