1257 - Array Hash
Organização aqui é super importante!
Descrição
Solução
Aqui podemos entender que todas as strings passadas formam como se fosse uma matriz, onde cada linha é uma string e cada coluna é uma letra. Entretanto, não temos necessidade de fazer uma matriz completa para esse problema, se só ficarmos com a matriz em mente e entendermos que temos então linha i e coluna j, então podemos organizar direitinho os for que vamos precisar para fazer o cálculo do modo mais fácil possível, usando a tabela ASCII para calcular rapidamente a posição de cada letra no alfabeto.
O código em JavaScript para este problema não está disponível no momento. :(
#include <string.h>
#include <stdio.h>
int main(){
int N, L, hash;
char frase[51];
scanf("%d", &N);
for(int k = 0; k < N; ++k){
hash = 0;
scanf("%d\n", &L);
for(int i = 0; i < L; ++i){
scanf("%s\n", &frase);
for(int j = 0; j < strlen(frase); ++j){
hash += (frase[j] - 'A') + i + j;
}
}
printf("%d\n", hash);
}
return 0;
}
Last updated
Was this helpful?