1 solutions

  • 0
    @ 2025-4-26 15:20:10
    #include<bits/stdc++.h>
    using namespace std;
    const int N=25;
    int a[N],b[N],c[N];
    int main()
    {
    	string s;
    	cin>>s;
    	int n=s.size();
    	for(int i=0,j=n-1;i<n;i++,j--)
    	{
    		a[i]=s[j]-'0';
    		b[i]=2*a[i];
    	}
    	for(int i=0;i<n;i++)
    	{
    		b[i+1]+=b[i]/10;
    		b[i]%=10;
    	}
    	memcpy(c,b,sizeof a);//c=b;
    	sort(a,a+n);
    	sort(b,b+n);
    	//统计a和b对应位置不同的数的个数
    	int cnt=0;
    	for(int i=0;i<n;i++)
    	{
    		if(a[i]!=b[i])	cnt++;
    	}
    	if(!cnt) cout<<"Yes"<<endl;
    	else cout<<"No"<<endl;
    	for(int i=n-1;i>=0;i--)
    	{
    		cout<<c[i];
    	} 
    	return 0;
    	
    }
    
    
    • 1

    Information

    ID
    147
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    9
    Accepted
    3
    Uploaded By