#include #include #include int main (void) { int K, k; int p, n, j, i; int ct1, ct2; int s[10]; int strike1[10], strike2[10], spare[10], inconsistent; FILE *in = fopen ("bowling.in", "r"), *out = fopen("bowling.out", "w"); fscanf (in, "%d\n", &K); for (k = 1; k <= K; k ++) { fprintf (out, "Data Set %d:\n", k); fscanf (in, "%d %d\n", &p, &n); for (j = 0; j < p; j ++) { s[j] = 0; strike1[j] = strike2[j] = spare[j] = 0; } inconsistent = 0; j = 0; for (i = 0; i < n; i ++) { fscanf (in, "%d\n", &ct1); s[j] += (1 + spare[j] + strike1[j] + strike2[j]) * ct1; strike1[j] = strike2[j]; strike2[j] = 0; spare[j] = 0; if (ct1 == 10) strike2[j] = 1; else if (i+1 < n) { i ++; fscanf (in, "%d\n", &ct2); s[j] += (1 + strike1[j]) * ct2; strike1[j] = 0; if (ct1 + ct2 > 10) inconsistent = 1; else if (ct1 + ct2 == 10) spare[j] ++; } j = (j + 1) % p; } if (inconsistent) fprintf (out, "Inconsistent\n\n"); else { for (j = 0; j < p; j ++) fprintf (out, "%s%d", j?" ":"", s[j]); fprintf (out, "\n\n"); } fscanf (in, "\n"); } fclose (in); fclose (out); return 0; }