赛后H题
经过对于顾客们讨论的认真倾听和及时干预,终于有人进入了结账流程,王阿姨拿着看上的衣服来到了收银台准备结账。
但在付款的过程当中,王阿姨忘记了自己的支付密码!但好在,她有一张记录与密码有关的小纸条,只见上写着7个小写字母。
王阿姨一拍脑门想起来,只需要将所有字符左移三位(第一位变倒数第三位,第二位变倒数第二位,第三位变倒数第一位),再将变化后的字符串转化为整数,就可以得到自己的支付密码。
你不想失去王阿姨的这笔订单,所以你需要帮助王阿姨破解密码。
输入格式:
一行,一个仅由小写字母组成的长度为7的字符串 s。
输出格式:
输出将字符串 𝑠s 所有字符左移三位(第一位变倒数第三位,第二位变倒数第二位,第三位变倒数第一位),再将变化后的字符串转化为整数得到的结果。
输入样例1:
asdfghj
输出样例1:
10210310410697115100
输入样例2:
qazxcdf
输出样例2:
1209910010211397122
对于 100%的数据,字符串长度为7且全为小写字母。
样例1中,asdfghj左移3位得到的字符串是fghjasd,再将每个字母转化为对应的ASCII码结果为10210310410697115100。
#include<bits/stdc++.h>
#include <vector>
using namespace std;
void primezzitai() {
int prime[6000010], cnt, n = 10;
bool isprime[10000 + 10] = {false};
isprime[0] = isprime[1] = 1;
for (int i = 2; i <= n; i++) {
if (!isprime[i]) prime[++cnt] = i;
for (int j = 1; j <= cnt && i * prime[j] <= n; j++) {
isprime[i * prime[j]] = 1;
if (i % prime[j] == 0) break;
}
}
}
void execute()
{
string s;
int x = 23;
cin >> s;
for (int i = 3; i < s.size(); i++)
{
cout << s[i] - 'a' + (int)'a';
}
for (int i = 0; i < 3; i++)
{
cout << s[i] - 'a' + (int)'a';
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int tt = 1;
//cin >> tt;
while (tt--) {
execute();
}
return 0;
}