//由题意可知,倒叙输出时最多可以输出10个数字 0,1,2...9 //不妨存储已经发现的数字,一旦10个数都已经被发现,就不需要继续遍历了 //同理,输出的时候,一旦输出了10个数字,也就不需要继续遍历了 #include<bits/stdc++.h> using namespace std; const int s=1e8+100; char a[s]; int b[10];//用于存储发现的数字 int t;//用于存储已经发现或者已经输出了的数字的个数 int main(){ scanf("%s",a); int len=strlen(a); for(int i=0;i<len;i++){ if(!b[a[i]-48]){t++;b[a[i]-48]++;} if(t==10)break; } for(int i=len-1;i>=0;i--){ if(b[a[i]-48]){t--;b[a[i]-48]--;printf("%c",a[i]);} if(!t)break; } return 0; }