ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#206804 | #3719. 加密通话 | Allen123456hello | 100 | 583ms | 4300kb | C++11 | 1.5kb | 2024-07-25 18:18:29 | 2024-07-25 20:21:35 |
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int A[260005],B[260005],C[260005];
string mul(string a,string b){
string ans;
if (a=="0"||b=="0"){return "0";}
memset(C,0,sizeof C);
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
int sizeans=a.size()+b.size(),asize=a.size(),bsize=b.size();
for (int i=1;i<=asize;++i){
A[i]=a[i-1]^48;
}
for (int i=1;i<=bsize;++i){
B[i]=b[i-1]^48;
}
for (int i=1;i<=asize;++i){
for (int j=1;j<=bsize;++j){
C[i+j-1]+=A[i]*B[j];
}
}
for (int i=1;i<=sizeans;++i){
C[i+1]+=C[i]/10;C[i]%=10;
}
while ((sizeans>1)&&(!(C[sizeans]))){--sizeans;}
for (int i=sizeans;i>=1;--i){ans+=(char)(C[i]^48);}
return ans;
}
string add(string a,string b){
memset(A,0,sizeof A);
memset(B,0,sizeof B);
memset(C,0,sizeof C);
for (int i=a.size(),j=0;i>=1;--i,++j){A[j]=a[i-1]^48;}
for (int i=b.size(),j=0;i>=1;--i,++j){B[j]=b[i-1]^48;}
int sss=max(a.size(),b.size())+1;
for (int i=0;i<=sss;++i){
C[i]+=A[i]+B[i];C[i+1]+=C[i]/10;C[i]%=10;
}
bool ok=0;
string ans="";
for (int i=sss;~i;--i){ok|=C[i];if (ok){ans+=(char)(C[i]^48);}}
return (ans.size())?ans:"0";
}
char s[505];
string ans="0";
int main(){
scanf("%s",s+1);
int t;
for (int i=1;s[i];++i){
ans=mul(ans,"26");t=s[i]-'a'+1;if (t==26){t=0;ans=add(ans,"26");}ans=add(ans,to_string(t));
}
puts(ans.c_str());
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 4ms
memory: 4292kb
input:
aaa
output:
703
result:
ok single line: '703'
Test #2:
score: 10
Accepted
time: 0ms
memory: 4292kb
input:
otto
output:
277695
result:
ok single line: '277695'
Test #3:
score: 10
Accepted
time: 0ms
memory: 4292kb
input:
wonder
output:
280375204
result:
ok single line: '280375204'
Test #4:
score: 10
Accepted
time: 4ms
memory: 4296kb
input:
abitwzdkxul
output:
154073598812678
result:
ok single line: '154073598812678'
Test #5:
score: 10
Accepted
time: 6ms
memory: 4296kb
input:
opgwlppmlumy
output:
57356751904151439
result:
ok single line: '57356751904151439'
Test #6:
score: 10
Accepted
time: 6ms
memory: 4296kb
input:
jwwvqldtsjskf
output:
1042077430022487696
result:
ok single line: '1042077430022487696'
Test #7:
score: 10
Accepted
time: 153ms
memory: 4296kb
input:
jfrioyvbyqsoxygmajdiqorgijlhkhbwwjawtwckokqyvxrdsqymffhfbuwajpuoqbcnddsyevhkapeusipgjvszubapviqtvmrz...
output:
4300911453790411800945391903152765942782793138336118343042260142874506488263785673172087778384488963...
result:
ok single line: '430091145379041180094539190315...9276413044766128134123598377397'
Test #8:
score: 10
Accepted
time: 141ms
memory: 4300kb
input:
udbsljdblcgcdylvoettkrrxsonxxwzpwcxtjnqbvbirbsrgliszqfqkaiwydmmxknyaryrfjogtianswvlqzsmyscvsiipecngs...
output:
1487898281503557831748070024669444336196763093279730130921507188777488934832629510294231582511917662...
result:
ok single line: '148789828150355783174807002466...3974947859267251785532872755112'
Test #9:
score: 10
Accepted
time: 132ms
memory: 4296kb
input:
gursgiqzlcfqnjjxjowqzubnydiygjxestvlehffjkybkmnrsbzzkprrnyvmppxwwyhmjmsfukcpjmmltovusjaqzfmhdsqjkcsx...
output:
6050651831854106655593124171348136351661687936535471990086285246928592125170210941171129207820422193...
result:
ok single line: '605065183185410665559312417134...0496840954331952742930298239413'
Test #10:
score: 10
Accepted
time: 137ms
memory: 4300kb
input:
vgkblomiykrhfzqnuwhrnmrjbqpflvpqlpivadvtwilhsbpttuolnfztlmcoctewhjrsjmhlgnlbginckuabmaogphxqkiweuubw...
output:
7504794918572298229797229224430944880316394524818964978603096666297543234087454896646797196502491357...
result:
ok single line: '750479491857229822979722922443...1605770094120254709299186651392'