提交时间:2022-07-13 11:54:29

运行 ID: 51588

#include<iostream> #include<cstring> using namespace std; bool b[27]; char s[3005],ans1[3005],ans[3005]; int n,k,l,type; void fuck(int i,int j){ if(i==n){ if(j>strlen(ans)||j==strlen(ans)&&strcmp(ans1,ans)==-1){ strcpy(ans,ans1); } return; } fuck(i+1,j); if(!j||!b[s[i]-'a']||s[i]==ans1[j-1]){ bool b1=b[s[i]-'a']; b[s[i]-'a']=1,ans1[j]=s[i],fuck(i+1,j+1),b[s[i]-'a']=b1,ans1[j]='\0'; } } int main(){ cin>>n>>k>>type>>s; fuck(0,0); cout<<strlen(ans)<<endl; if(type){ cout<<ans<<endl; } return 0; }