题解:P1055 [NOIP2008 普及组] ISBN 号码
solution
小模拟。
我们按照题意算出给定字符串正确的识别码,再和给定的识别码比较,若不相等则把给定识别码改为正确识别码,注意特判识别码为
通过记录。
code
#include<bits/stdc++.h>
using namespace std;
int l, n, sum;
string s;
int main(){
cin >> s;
l=s.size();
for (int i=0; i<l-1; ++i)
if (s[i]>='0'&&s[i]<='9')
sum+=(s[i]-'0')*(++n);
if (sum%11+'0'==s[l-1]||(sum%11==10&&s[l-1]=='X'))
puts("Right");
else
s[l-1]=(sum%11==10?'X':sum%11+'0'),
cout << s;
return 0;
}