Back to list of problems
Greedy Gift Givers
119.c
/* Greedy Gift Givers */ #include <stdio.h> #include <stdlib.h> char names[10][13]; int amounts[10]; int main(void) { int i,j,k; int people; int ini=-1; char tmp[13]; while(1) { ini++; if (scanf("%d", &people) != 1) { break; } for(i=0; i<people; i++) { scanf("%s", names[i]); amounts[i]=0; } for(i=0; i<people; i++) { int amount, num; int tio; scanf("%s", tmp); for(j=0; j<people; j++) { if (!strcmp(tmp, names[j])) { tio = j; break; } } scanf("%d %d", &amount, &num); if (num) { amount /= num; amounts[tio] -= amount*num; for(j=0; j<num; j++) { scanf("%s", tmp); for(k=0; k<people; k++) { if (!strcmp(tmp, names[k])) { amounts[k] += amount; break; } } } } } if (ini) { printf("\n"); } for(i=0; i<people; i++) { printf("%s %d\n", names[i], amounts[i]); } } exit(0); }