题意其他大佬已经说得很清楚了,尤其是第一篇,所以我就不重复了。

思路:

众所周知,string 库中有个很厉害的函数叫 to_string,它可以将一个数字转换为 string 类型,所以我们可以用它来解决题目中有关 ST 的操作。

但直接在 Dev 中引用这个函数会报错,所以我们要将编译器版本调为 C++11/14具体方法见这

解决了这个点,便直接模拟即可。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<bits/stdc++.h>
#include<sstream>
using namespace std;
string s;
bool th(int st){
int len=s.size();
string fuck,sb;
for(int i=0;i<len;i++){
string pj=to_string(int(s[i]-'A'+st));
fuck+=pj;
}
while(fuck.size()>3){
sb.clear();
for(int i=0;i<fuck.size()-1;i++){
sb+=((fuck[i]-'0'+fuck[i+1]-'0')%10+'0');
}
fuck=sb;
}
if(fuck=="100"){
return 1;
}
return 0;
}
bool f;
int main(){
while(cin>>s){
f=0;
for(int i=1;i<=10000;i++){
if(th(i)){
cout<<i<<endl;
f=1;
break;
}
}
if(f==0){
cout<<":("<<endl;
}
}
return 0;
}