思路:字符串模拟
P.S. 这大水题由于一个特判我愣是写了二十分钟 之后清北的大便测评机再次卡了我五次 洛谷一次过 唉心累
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int b[]={0,1,2,3,4,5,6,7,8,9};
int shu[10001];
int ans;
int main ()
{
string a;
cin>>a;
int sbm=(int)a[12]-48;//存储识别码
if (a[12]=='X') sbm=10;//特判
int cnt=0;//记录乘数
for (int i=0;i<12;i++)
{
for (int j=0;j<10;j++)
{
if ((int)a[i]-48==b[j])//找出数字
{
cnt++;
ans+=b[j]*cnt; //存储总和
}
}
}
int x=ans%11;//存储正确的识别码
if (x==sbm) cout<<"Right";
else if (x==10) {
for (int i=0;i<12;i++)
{
cout<<a[i];
}
cout<<"X";
}
else {
for (int i=0;i<12;i++)
{
cout<<a[i];
}
cout<<x;
}
return 0;
}