50分救命

P1055 [NOIP2008 普及组] ISBN 号码

GMU___LXB @ 2024-11-10 16:39:57

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string zfc;
    int arr[15]={0},num1=0,num2=1;
    cin>>zfc;
    for(int i=0;i<=12;i++)
    {
        if(zfc[i]!='-')
        {
            arr[num1++]=zfc[i]-'0';
        }
    }

    int sum=0;
    for(int i=0;i<=8;i++)
    {
        sum+=arr[i]*(num2++);
    }
    num2=sum%11;

    if(zfc[13]!='X')
    {
        if(num2==(zfc[12]-'0'))
        {
            cout<<"Right";
        }
        else
        {
            for(int i=0;i<=11;i++)
            {
                cout<<zfc[i];
            }
            cout<<num2;
        }
    }
    else
    {
        if(num2==10)
        {
            cout<<"Right";
        }
        else
        {
            for(int i=0;i<=11;i++)
            {
                cout<<zfc[i];
            }
            cout<<"X";
        }
    }
    return 0;
}

|