Ens donen una matriu
de mida
de lletres majúscules o minúscules, és a dir,
strings amb
caràcters pertanyents als codis ASCII
[’a’,…,’z’][’A’,…,’Z’].
Per a cada posició
de
hi trobem un cert caràcter. Volem sumar el nombre de vegades que apareix
aquest caràcter en minúscula a la fila
,
més el nombre de vegades que apareix aquest caràcter en majúscula a la
columna
.
Per exemple, considereu la següent matriu de caràcters:
BceaDc
BBFbaa
FafbfE
AABbff
Indexant des de
,
a la posició
hi ha una f. A la fila
hi tenim els caràcters F,a,f,b,f,E i per tant
hi han
ocurrències de f (minúscula). A la columna
hi tenim els caràcters e,F,f,B, i per tant hi
ha
ocurrència de F (majúscula). En total,
ocurrències.
Veiem un altre exemple amb la matriu anterior: a la posició
hi ha una b. A la fila
hi tenim els caràcters B,B,F,b,a,a i per tant
hi ha
ocurrència de b (minúscula). A la columna
hi tenim els caràcters a,b,b,b, i per tant hi
han
ocurrències de B (majúscula). En total,
ocurrència.
La primera línia de l’entrada té dos valors positius
separats per un espai que representen les mides de la matriu
.
A continuació venen
línies amb strings de longitud
,
a on cada string conté caràcters amb codis ASCII de
[’a’,…,’z’][’A’,…,’Z’],
el contingut de la matriu
.
La sortida té línies. Cada línia té valors naturals separats per espais. La sortida representa una matriu de naturals. El valor de la posició és la suma del nombre d’ocurrències del caràcter en minúscula a la fila de , més el nombre d’ocurrències del caràcter en majúscula a la columna de .
Per a superar uns quants jocs de proves i obtenir una nota acceptable podeu fer un programa senzill. Però per a superar tots els jocs de proves convindrà pensar en alguna optimització raonable.
Input
4 6 BceaDc BBFbaa FafbfE AABbff
Output
2 2 1 1 1 2 3 2 1 1 2 2 3 2 3 1 2 1 1 1 2 1 2 2
Input
1 20 fcbEcJgbBhFFIgDBdcji
Output
1 3 2 1 3 2 2 2 3 1 2 2 2 2 2 3 1 3 1 1
Input
20 1 G c b I a c c E A d h F h b G e e G i G
Output
4 1 1 1 2 1 1 1 1 1 1 1 1 1 4 2 2 4 2 4
Input
20 20 IGpQVxdNKQiuSVIOKdYC QDMKmvRENYMOnZLHBwHm iRAMYNcMVDmlYDtCAFsU gGkcFPRhLzfKWJiIMzKE IjWteoWqpLhPMssOrEPX TgOkbEqGjbXIogNAtyio FuPcaGuqcpCXZFHSrkoj RRDXEwfDrPgNyGlDgtEs gsKTIdVrPIrIKNtAYorP tvJkpfgIrGemaoMXYwIJ bgExNHjAYHwrzdXHfgGI jqniJVvAdexAbqoeQtmP sEakMdCOQpeFRbcedkOG LOTxInKmSJdTZMaTgDMk rLREmifBJVKzZUFKeZvk WzYkSUxxZkxfUbMAioer gDFcuNJxYwMXzCKEgVjs nXbevpZdaIccvWxIylcC TEFVQRrDvTsJLtnLozBB coqITJHeqGUkoEILBhTI
Output
3 2 2 1 1 1 2 1 1 1 1 1 1 1 3 2 1 3 1 2 1 2 3 1 3 2 2 1 2 1 4 1 1 1 1 2 2 1 1 2 3 2 1 2 1 2 2 2 1 1 3 1 1 1 1 2 1 1 1 1 1 3 2 1 2 1 2 1 1 2 1 2 1 1 3 3 1 3 2 1 2 1 1 2 2 1 1 1 2 1 1 2 1 2 2 3 1 2 2 1 3 4 3 2 2 1 1 3 2 2 1 3 2 3 1 3 1 1 2 2 1 2 2 2 1 1 2 1 2 2 3 2 3 1 1 1 1 1 2 2 2 3 1 1 1 1 1 2 1 1 2 1 2 3 2 1 2 1 1 1 1 1 1 2 2 1 1 3 1 2 3 2 1 1 1 3 2 1 3 2 3 1 1 2 1 1 1 1 1 3 1 1 1 1 3 1 2 1 1 1 1 4 1 2 1 1 2 2 2 1 1 1 4 2 2 2 1 2 3 2 1 2 1 2 2 2 2 2 1 2 2 1 1 2 1 3 3 1 2 2 1 4 2 3 1 2 2 1 1 2 2 1 1 1 1 3 2 2 1 1 1 1 1 2 2 3 2 2 1 1 1 1 3 2 1 1 1 2 2 1 2 1 2 2 2 1 1 1 1 2 2 1 4 1 2 2 1 2 1 1 1 1 1 3 1 1 3 3 2 2 4 2 1 1 2 3 1 1 2 1 2 2 2 1 1 2 2 1 2 1 2 3 4 2 1 1 2 1 1 1 1 2 1 2 3 2 1 3 1 2 4 3 2 1 2 2 3 1 3 5 3 2 2 2 1 2 3 2 2 2 1 1 1 1 2 2 1 2 1 1 1 3 2 1 1 1 2 2 3 2 1 2 2 2 2 2 2 1 1 2