难度:☆
Code:
#include#include #include #include using namespace std;//Mystery_Sky//struct People{ char name[20]; int out, in;}people[100];int n;char name[20], name1[20];inline int search_name(char name[]){ int a; for(int j = 1; j <= n; j++) { if((strcmp(name, people[j].name) == 0)) { a = j; break; } } return a;}inline void solve(){ for(int i = 1; i <= n; i++) { scanf("%s", name); int a; a = search_name(name); int b, c; getchar(); scanf("%d%d", &b, &c); if(c == 0) continue; int out = b / c; people[a].out = people[a].out + out * c; for(int j = 1; j <= c; j++) { scanf("%s", name1); getchar(); int d = search_name(name1); people[d].in += out; } }}inline void print(){ for(int i = 1; i <= n; i++) { printf("%s ", people[i].name); printf("%d\n", people[i].in - people[i].out); }}int main() { scanf("%d", &n); for(int i = 1; i <= n; i++) scanf("%s", people[i].name); getchar(); solve(); print(); return 0;}