/** Cervotoci */ #include #include #define CERV_MAX 28 #define CHR_MAX 1000 char * strdp (char * orig) { char * r = (char *) malloc (strlen(orig)+10); strcpy(r, orig); return r; } int cervi[CERV_MAX]; char * jmena[CERV_MAX]; int main(void) { do { int rows, cols, worms; char wrm_buff[CHR_MAX]; int i, max=0; scanf("%d %d %d", &rows, &cols, &worms); if (rows == 0) return 0; /*fprintf(stderr, "Rows: %i\n", rows);*/ for(i=0; i < worms; i++) { scanf("%s", wrm_buff); jmena[i] = strdp(wrm_buff); } while (rows--) { scanf("%s", wrm_buff); for (i=0; i < cols; i++) { if ( wrm_buff[i] >= 'A' && wrm_buff[i] <= 'Z') { /* fprintf(stderr,"%c: %i\n", wrm_buff[i]-'A', cervi[i]); */ cervi[wrm_buff[i]-'A']++; } else if ( wrm_buff[i] >= 'a' && wrm_buff[i] <= 'z') { /* fprintf(stderr,"%c: %i\n", wrm_buff[i]-'A', cervi[i]); */ cervi[wrm_buff[i]-'a']++; } } } for (i=0; i < CERV_MAX; i++) { /*fprintf(stderr,"%i\n", cervi[i]); */ if (cervi[i] > cervi[max]) max = i; } for (i=0; i < worms; i++) { if (jmena+i && jmena[i][0] == max + 'A') { printf("Nejzravejsi cervotoc je %s.\n", jmena[i]); break; } } for (i=0; i < CERV_MAX; i++) { free(jmena[i]); jmena[i] = NULL; cervi[i] = 0; } } while (1==1); return 0; }