1 solutions

  • 0
    @ 2025-12-3 8:26:05

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int a[3005];
    long long n,ans,bj;
    string s;
    int main()
    {
    	cin>>s;
    	for(int i=0;i<s.size();i++)
    	{
    		a[i+1]=s[i]-'0';
    	}
    	n=s.size();
    	if(s[0]=='1')
    	{
    		for(int i=2;i<=n;i++)
    		{
    			if(a[i]==1) a[i]=0;
    			else a[i]=1;
    		}
    		int jw=1;
    		for(int i=n;i>=1;i--)
    		{
    			a[i]+=jw,jw=0;
    			if(a[i]==2) jw=1,a[i]=0;
    			else break;
    		}
    		for(int i=1;i<=n;i++)
    		{
    			cout<<a[i];
    		}
    		cout<<endl;
    	}
    //	cout<<n<<' ';
    	long long t=1;
    	for(int i=n;i>1;i--)
    	{
    		ans=ans+a[i]*t;
    		t*=2;
    		//cout<<ans<<endl;
    	}
    	if(s[0]=='1') cout<<'-';
    	cout<<ans;
        return 0;
    }
    
    • 1

    Information

    ID
    741
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    10
    Tags
    (None)
    # Submissions
    1
    Accepted
    0
    Uploaded By