cod

Time limit: 0.02s Memory limit: 4MB Input: cod.in Output: cod.out

La o bancă se află nn seifuri, ale căror coduri de acces secrete sunt numere naturale (să notăm cu s1,s2,,sns_1, s_2, \dots, s_n şirul codurilor de acces). Datorită producerii unui incident, au fost făcute publice nişte coduri asemănătoare cu codurile secrete (să notăm cu c1,c2,,cpc_1, c_2, \dots, c_p şirul codurilor asemănătoare). Din motive de creştere a securităţii seifurilor, se decide modificarea codurilor s1,s2,,sns_1, s_2, \dots, s_n, utilizând codurile c1,c2,,cpc_1, c_2, \dots, c_p, în modul următor.

Pentru fiecare cod sis_i se stabileşte un cod din şirul ckc_k denumit cod asociat, astfel:

  • codul sis_i se poate asocia cu codul ckc_k dacă cel puţin jumătate dintre cifrele lui sis_i sunt conţinute de ckc_k, în cazul în care numărul de cifre al codului sis_i este par şi cel puţin jumătate +1 din cifrele lui sis_i sunt conţinute de ckc_k, în cazul în care numărul de cifre ale codului sis_i este impar;
  • dacă pentru un cod sis_i există mai multe coduri ce pot fi asociate cu el din şirul cc, se va alege codul care conţine cel mai mare număr de cifre comune cu sis_i;
  • dacă există mai multe coduri ckc_k care au acelaşi număr maxim de cifre comune cu codul sis_i, se va alege primul dintre ele (cel cu indicele cel mai mic).

Codul sis_i se transformă într-un nou număr natural tit_i, obţinut astfel:

  • se elimină din sis_i toate cifrele comune cu ckc_k ales;
  • se formează cel mai mare număr cu toate cifrele rămase după eliminare şi acesta va fi tit_i; dacă tit_i obţinut este mai mic decât 12 34512 \ 345, se adună cu numărul 12 34512 \ 345.

Cerință

Scrieţi un program care determină şirul de coduri tt, obţinut prin transformarea codurilor iniţiale ss, pe baza şirului cc.

Date de intrare

Fişierul de intrare cod.in conţine pe prima linie numerele nn şi pp separate printr-un spaţiu, pe a doua linie nn numere ce reprezintă codurile din şirul ss şi pe a treia linie pp numere ce reprezintă codurile din şirul cc.

Date de ieșire

Fişierul de ieşire cod.out conţine pe o singură linie şirul de numere t1,t2,,tnt_1, t_2, \dots, t_n separate între ele prin câte un spaţiu.

Restricții și precizări

  • 1<n,p1001 < n, p \leq 100
  • Codurile din şirul ss sunt distincte între ele şi fiecare cod conţine cel puţin 55 cifre distincte.
  • 12 345si,ck2 100 000 00012 \ 345 \leq s_i, c_k \leq 2 \ 100 \ 000 \ 000

Exemplu

cod.in

4 5
134925 32960 18542 195633
305285 3067583 20375 29785 213198

cod.out

12399 12441 12386 12436

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