Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 303 A問題 Similar String

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

 2 つの文字  x,y が以下のうちのいずれかを満たすとき,  x,y は似た文字であるという.

  •  x=y.
  •  x,y のうち, 一方は  {\tt 1} で, 他方は  {\tt l}.
  •  x,y のうち, 一方は  {\tt 0} で, 他方は  {\tt o}.

また, 長さが  N の文字列  S,T に対して, 以下を満たすとき,  S,T は似た文字列であるという.

  •  i=1,2, \dots, N に対して,  S i 文字目と  T i 文字目は似た文字である.

長さ  N の英小文字及び数字からなる文字列  S,T が与えられる.  S,T は似た文字列か?

制約

  •  1 \leq N \leq 100
  •  S,T は長さ  N の英小文字及び数字からなる文字列

解法

 i=1,2, \dots, N それぞれに対して,  S i 文字目と  T i 文字目が似た文字であるかどうかを判定し, 全て肯定的であるかどうかで判定すれば良い.

 x,y が似た文字であるかどうかの判定については  x=y 以外には  4 つの等式を書くことによっても可能だが,  x,y のうち, 一方は  {\tt 1} で, 他方は  {\tt l} という条件については例えば集合の観点で  \{x,y\}=\{{\tt 1}, {\tt l}\} かどうかで判定すると, 記述が短くなる.