puzzle

Time limit: 0.2s Memory limit: 16MB Input: puzzle.in Output: puzzle.out

Definim un puzzle de numere ca fiind adunarea a două numere naturale, în care o parte dintre cifre au fost înlocuite cu caracterul *. De exemplu, pentru adunarea:
933478910123\begin{alignedat}{5} &9&3&3&4&\\ &&7&8&9&\\ 1&0&1&2&3&\\ \end{alignedat}

unele dintre puzzle-urile corespunzătoare pot fi:
347810123      949      \begin{alignedat}{5} &*&3&*&4&\\ &&7&8&*&\\ 1&0&1&2&3&\\ \end{alignedat} \;\;\; \begin{alignedat}{5} &9&*&*&4&\\ &&*&*&9&\\ *&*&*&*&*&\\ \end{alignedat} \;\;\; \begin{alignedat}{5} &*&*&*&*&\\ &&*&*&*&\\ *&*&*&*&*&\\ \end{alignedat}

Cerinţă

Să se scrie un program care determină o adunare din care provine un puzzle dat.

Date de intrare

Fișierul de intrare puzzle.in va conține mai multe teste. Pe prima linie se va găsi un număr natural TT reprezentănd numărul de puzzle-uri din fișier. Pe următoarele 3×T3 \times T linii se vor găsi TT triplete, fiecare triplet reprezentând un puzzle format din caractere * și eventual cifre.

Date de ieșire

Fișierul de ieșire puzzle.out va conține exact 3×T3 \times T linii cu numere naturale, câte trei linii pentru fiecare puzzle din fișierul de intrare. Prima și cea de-a doua linie a unui puzzle vor conține numerele care urmează să fie adunate, iar a treia linie va conține suma acestora, în ordinea citirii din fișierul de intrare.

Restricții și precizări

  • 1T101 ≤ T \leq 10;
  • Toate numerele fiecărui puzzle nu pot avea prima cifră 00;
  • Dacă există mai multe adunări corecte corespunzătoare unui puzzle, se va accepta oricare dintre acestea.
  • Lungimea oricărei linii a unui puzzle nu depășește 100 000100 \ 000 de caractere;
  • Se garantează existența unei soluții pentru toate testele de intrare;
  • Pentru teste în valoare de 1515 puncte lungimea oricărui număr din fiecare puzzle va fi mai mică sau egal cu 1818;
  • Pentru teste în valoare de încă 2525 de puncte lungimea oricărui număr din fiecare puzzle va fi mai mică sau egal cu 1 0001 \ 000;
  • Pentru teste în valoare de încă 2525 puncte lungimea oricărui număr din fiecare puzzle va fi mai mică sau egal cu 20 00020 \ 000;

Exemplul 1

puzzle.in

1
*3*4
78*
10123

puzzle.out

9334
789
10123

Explicație

Fișierul de intrare conține un puzzle:
347810123\begin{alignedat}{5} &*&3&*&4&\\ &&7&8&*&\\ 1&0&1&2&3&\\ \end{alignedat}

O adunare corectă corespunzătoare acestui puzzle este:
933478910123\begin{alignedat}{5} &9&3&3&4&\\ &&7&8&9&\\ 1&0&1&2&3&\\ \end{alignedat}

Exemplul 2

puzzle.in

2
**
*
**7
75
*
*6

puzzle.out

98
9
107
75
1
76

Explicație

Fișierul de intrare conține două puzzle-uri.
Pentru primul puzzle o adunare corectă este:
989107\begin{alignedat}{3} &9&8&\\ &&9\\ 1&0&7&\\ \end{alignedat}
Pentru al doilea puzzle o adunare corectă este:
75176\begin{alignedat}{3} 7&5&\\ &1&\\ 7&6&\\ \end{alignedat}

Log in or sign up to be able to send submissions!