#include int main (void) { int K, k; int n; int score; int i, j, r; int p[1001]; char s[1001][81]; char t[10001]; char match; FILE *in = fopen ("speech.in", "r"); fscanf (in, "%d\n", &K); for (k = 1; k <= K; k ++) { fscanf (in, "%d\n", &n); for (i = 0; i < n; i ++) { fgets (s[i], 81, in); s[i][strlen(s[i])-1] = 0; fscanf (in, "%d\n", &p[i]); } fgets (t, 10001, in); t[strlen(t)-1] = 0; score = 0; for (j = 0; j < strlen(t); j ++) { for (i = 0; i < n; i ++) { match = 1; if (strlen (s[i]) > strlen(t)+1-j) match = 0; else for (r = 0; r < strlen(s[i]) && match; r ++) if (s[i][r] != t[j+r]) match = 0; if (match) score += p[i]; } } printf ("Data Set %d:\n%d\n", k, score); } fclose (in); return 0; }