najja @ 2022-10-26 16:42:11
#include<bits/stdc++.h>
using namespace std;
string a;
int cnt,cnt1=1;
int main()
{
getline(cin,a);
for(int i=0;i<a.size()-1;i++)
{
if(a[i]!='-')
{
cnt+=(a[i]-'0')*cnt1;
cnt1++;
}
}
cnt%=11;
if(cnt==10)
{
if(a[a.size()-1]=='X')
{
cout<<"Right"<<endl;return 0;
}
else
{
cout<<a.substr(0,a.size()-2)<<"-X"<<'\n';return 0;
}
}
if(a[a.size()-1]=='X'&&cnt==10){
cout<<"Right\n";
}
if(cnt==(a[a.size()-1]-'0')) cout<<"Right\n";
else cout<<a.substr(0,a.size()-2)<<'-'<<cnt<<'\n';
}
by _Anoxia @ 2022-11-04 11:29:42
我一开始和你一样,用getline输入,然后测试点4、7过不了,但是在VS上是可以得到正确结果的,然后我改成cin读入就过了所有检查点,至于为什么,我现在也是懵的
by wuyuchen5001143 @ 2023-01-05 21:49:32
@_Anoxia 因为原数据末尾有空格,现已修复,可以用getline()了