ZCMU-1654

来源:互联网 发布:屏幕录制软件 编辑:程序博客网 时间:2024/04/29 22:28

1654: 据说题目里藏着某人的QQ号\(^o^)/~

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 252  Solved: 87
[Submit][Status][Web Board]

Description

某人喜欢把自己的字符串加密。加密是这样的,有一个字母与数字的转换表。把字符串的中的每一个字符转换为对应的数字。然后把这些数字相乘,最后再把这个数字对 751492854 取余数。

Input

多组数据,处理到文件末尾。一行字符串(只有字母组成,长度小于1000)

Output

输出一个整数表示答案

Sample Input

d

Sample Output

5

HINT



A(a):6

B(b):9

C(c):0

D(d):5

E(e):8

F(f):1

G(g):9

H(h):4

I(i):6

J(j):3

K(k):2

L(l):34

M(m):67

N(n):67

O(o):78967

P(p):345

Q(q):454

R(r):434

S(s):345

T(t):12

U(u):978

V(v):563

W(w):34

X(x):34

Y(y):5885

Z(z):45


【解析】

一开始做这道题的时候不闲麻烦直接if else if 的做不过最后WA了,算了还是直接开数组把,通过了....

#include<iostream>#include<cstdio>using namespace std;int main(){    char s[1001];    int i,n;    long long sum=1;    int a[26]={6,9,0,5,8,1,9,4,6,3,2,34,67,67,78967,345,454,434,345,12,978,563,34,34,5885,45};    while(~scanf("%s",s))    {        sum=1;        for(i=0;s[i]!='\0';i++)        {        if(isupper(s[i]))            {                n=s[i];                sum=sum*a[n-65]%751492854;            }         else if(islower(s[i]))         {             n=s[i];            sum=sum*a[n-97]%751492854;         }          if(sum==0)            break;         }    printf("%lld\n",sum);    }return 0;}

0 0