Advertisement
mrlolthe1st

Untitled

Aug 12th, 2021
935
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. Var
  2.     S, T : String;
  3.     Ans, I : LongInt;
  4. Begin
  5.     ReadLn(S);
  6.     ReadLn(T);
  7.     Ans := 1;
  8.     For I := 1 To Length(S) Do
  9.     Begin
  10.         If S[I] In ['0' .. '9'] Then
  11.         Begin
  12.             If (T[I] <> S[I]) And Not (T[I] In ['0' .. '9']) And (T[I] <> '?')
  13.             And (Ord(T[I]) - Ord('a') < Ord(S[I]) - 48) And (Ord(T[I]) - Ord('a') + 3 < Ord(S[I]) - 48)
  14.             Then Ans := 0;
  15.             If (T[I] <> S[I]) And (T[I] In ['0' .. '9']) Then Ans := 0;
  16.         End Else
  17.         Begin
  18.             If (T[I] = '?') And (S[I] = '?') Then Ans := Ans * 10
  19.             Else If (T[I] = '?') Then Ans := Ans * 4
  20.             Else If (S[I] = '?') And (T[I] In ['a' .. 'g']) Then Ans := Ans * 4
  21.             Else If (S[I] = '?') And (T[I] In ['0' .. '9']) Then Ans := Ans * 1
  22.             Else If (S[I] In ['a' .. 'g']) And (T[I] In ['0' .. '9']) Then
  23.             Begin
  24.                 If (Ord(S[I]) - 97 < Ord(T[I]) - 48) And (Ord(S[I]) - 97 + 3 < Ord(T[I]) - 48) Then Ans := 0;
  25.             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])))
  26.             Else If (S[I] = T[I]) Then Ans := Ans * 4
  27.             Else Ans := 0;
  28.         End;
  29.     End;
  30.     WriteLn(Ans);
  31. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement