简单模拟题
#include<cstdio>
#include<string.h>
int digits[21],num1[10],num2[10],cnt=0;
char d[21];
void getNum(int num[],int len){
for(int i=0;i<len;i++)
num[digits[i]]++;
}
int main(){
scanf("%s",d);
int len=strlen(d);
for(int i=0;d[i];i++)
digits[len-1-i]=d[i]-'0';
getNum(num1,len);
int up=0;
for(int i=0;i<len;i++){
digits[i]=digits[i]*2+up;
up=0;
if(digits[i]>=10){
digits[i]-=10,up=1;
if(i==len-1)
len++;
}
}
getNum(num2,len);
bool goal=true;
for(int i=0;i<10;i++)
if(num1[i]!=num2[i])
goal=false;
printf("%s\n",goal?"Yes":"No");
for(int i=len-1;i>=0;i--)
printf("%d",digits[i]);
printf("\n");
}