UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#190833#3390. 凯撒密码sean13811004ms1272kbC++1.6kb2023-10-07 18:26:502023-10-07 21:34:45

answer

#include<bits/stdc++.h>
using namespace std;
string s,t;
int ss=-1,tt=-1;
int main(){
    cin>>s>>t;
    for(int i=0;i<s.size();i++){
        if('a'<=s[i]&&s[i]<='z'&&'a'<=t[i]&&t[i]<='z'){
            if(ss!=-1){
                int m=0;
                if(t[i]<s[i]){
                    m=26-s[i]+t[i];
                }else{
                    m=t[i]-s[i];
                }
                if(m==ss){
                    continue;
                }else{
                    cout<<"IMPOSSIBLE"<<endl;
                    return 0;
                }
            }else{
                if(t[i]<s[i]){
                    ss=26-s[i]+t[i];
                }else{
                    ss=t[i]-s[i];
                }
            }
        }else if('0'<=s[i]&&s[i]<='9'&&'0'<=t[i]&&t[i]<='9'){
            if(tt!=-1){
                int m=0;
                if(t[i]<s[i]){
                    m=10-s[i]+t[i];
                }else{
                    m=t[i]-s[i];
                }
                if(m==tt){
                    continue;
                }else{
                    cout<<"IMPOSSIBLE"<<endl;
                    return 0;
                }
            }else{
                if(t[i]<s[i]){
                    tt=10-s[i]+t[i];
                }else{
                    tt=t[i]-s[i];
                }
            }
        }else{
            cout<<"IMPOSSIBLE"<<endl;
            return 0;
        }
    }
    if(ss==-1){
        cout<<tt;
        return 0;
    }else if(tt==-1){
        cout<<ss;
        return 0;
    }
    while(ss%10!=tt){
        ss+=26;
    }
    cout<<ss;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1216kb

input:

a
0

output:

IMPOSSIBLE

result:

ok single line: 'IMPOSSIBLE'

Test #2:

score: 10
Accepted
time: 0ms
memory: 1228kb

input:

c
x

output:

21

result:

ok single line: '21'

Test #3:

score: 10
Accepted
time: 0ms
memory: 1224kb

input:

8
3

output:

5

result:

ok single line: '5'

Test #4:

score: 10
Accepted
time: 0ms
memory: 1228kb

input:

097
097

output:

0

result:

ok single line: '0'

Test #5:

score: 10
Accepted
time: 0ms
memory: 1228kb

input:

135409
357621

output:

2

result:

ok single line: '2'

Test #6:

score: 10
Accepted
time: 1ms
memory: 1272kb

input:

ulhpnmrkblwafxapsldccdplmqukqlxwixjtleoirjyyivdguyiffnvunoxconwjvovmqluhyypgfkmdvgpzjuepkwjdoniezcli...

output:

21

result:

ok single line: '21'

Test #7:

score: 10
Accepted
time: 0ms
memory: 1268kb

input:

ijvxljtolmgjndlwoyjjttakhzvzmihjdhkyfnafwrpeuiuiurusvsnugviqzouvuxalhxmxhclxdzrxylbzsmdruqpnvagkninp...

output:

13

result:

ok single line: '13'

Test #8:

score: 10
Accepted
time: 1ms
memory: 1272kb

input:

lb3zc66k080upg8dfv18jctk0sejke93251mw9f3642u1x7889s5y38wdv39391v3gptt6656248xw576z2w27gh9t3wh5j634lg...

output:

22

result:

ok single line: '22'

Test #9:

score: 10
Accepted
time: 1ms
memory: 1272kb

input:

h18855603165ay78uft01r1i89sx9o1z6d1h0nd2l8f28xe05571r64vjeofr32453571pa1z9x47dpg5k3uw2027lx4270g4xyh...

output:

98

result:

ok single line: '98'

Test #10:

score: 10
Accepted
time: 1ms
memory: 1272kb

input:

2c3hoz6dbcggcjjf665nqfcy3w2yoej1lyr1j523230e2q228b6vn96gsuq1sustb1269uiyrk6y3gi883f789rro7nomg9776w1...

output:

129

result:

ok single line: '129'

Extra Test:

score: 0
Extra Test Passed