素直に全ての和を計算して全探索するのは、時間制限からできません。

各桁ごとに、00が現れる組み合わせを数えることを考えます。 一の位に00が現れるのは、1+9=101+9=10など、足して1010になる一の位同士の組み合わせです。(制約より、0+0=00+0=0はあり得ないことに注意してください。) これは、一の位の数字ごとに入力を分類して数えておけば可能です。

しかしながら、この方法をそのまま十の位に適応することはできません。一の位からの繰上りがあるためです。そこで、次のように考えます。

ある2つの数の下2桁をs,ts,tと置いたとき、これらの和が100s+t<110100\leq s+t<110であれば、十の位に00が現れます。これを満たす相手方の個数は、 下2桁のみを取った配列を用意しておき、ソートしておけば二分探索で求めることができます。(累積和を使ってもできます)。再び、制約より s+t<10s+t<10の場合は考慮しなくてもよいことに注意してください。

同様の操作を全ての桁に施した後、自分自身との和に現れる00の数を引き、全体をダブルカウントしていれば22で割ったものが答えです。