Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Var
- S, T : String;
- Ans, I : LongInt;
- Begin
- ReadLn(S);
- ReadLn(T);
- Ans := 1;
- For I := 1 To Length(S) Do
- Begin
- If S[I] In ['0' .. '9'] Then
- Begin
- If (T[I] <> S[I]) And Not (T[I] In ['0' .. '9']) And (T[I] <> '?')
- And (Ord(T[I]) - Ord('a') < Ord(S[I]) - 48) And (Ord(T[I]) - Ord('a') + 3 < Ord(S[I]) - 48)
- Then Ans := 0;
- If (T[I] <> S[I]) And (T[I] In ['0' .. '9']) Then Ans := 0;
- End Else
- Begin
- If (T[I] = '?') And (S[I] = '?') Then Ans := Ans * 10
- Else If (T[I] = '?') Then Ans := Ans * 4
- Else If (S[I] = '?') And (T[I] In ['a' .. 'g']) Then Ans := Ans * 4
- Else If (S[I] = '?') And (T[I] In ['0' .. '9']) Then Ans := Ans * 1
- Else If (S[I] In ['a' .. 'g']) And (T[I] In ['0' .. '9']) Then
- Begin
- If (Ord(S[I]) - 97 < Ord(T[I]) - 48) And (Ord(S[I]) - 97 + 3 < Ord(T[I]) - 48) Then Ans := 0;
- End Else If (S[I] <> T[I]) And (Abs(Ord(S[I]) - Ord(T[I])) < 4) Then Ans := Ans * (4 - Abs(Ord(S[I]) - Ord(T[I])))
- Else If (S[I] = T[I]) Then Ans := Ans * 4
- Else Ans := 0;
- End;
- End;
- WriteLn(Ans);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement