vijos题解吧 关注:6贴子:20
  • 0回复贴,共1

【题解】P1035 贪婪的送礼者

只看楼主收藏回复

#include <stdio.h>
#include <string.h>
int i,j,k,n,song,shou,qian;
char ren[15];
struct data{
char name[15];
int money,in,out,renshu;
}stu[11];
int cmp(struct data p[],char q[]){
int i,j;
for (i=1;i<=n;i++){
j=strcmp(p[i].name,q);
if (j==0) return i;
}
}
int main(){
scanf("%d",&n);
for (i=1;i<=n;i++){
scanf("%s",&stu[i].name);
stu[i].in=0;
stu[i].out=0;
stu[i].money=0;
}
for (i=1;i<=n;i++){
scanf("%s",&ren);
song=cmp(stu,ren);
scanf("%d%d",&stu[song].money,&stu[song].renshu);
if (stu[song].renshu==0) continue;
qian=stu[song].money/stu[song].renshu;
for (j=1;j<=stu[song].renshu;j++){
scanf("%s",ren);
shou=cmp(stu,ren);
stu[song].out+=qian;
stu[shou].in+=qian;
}
}
for (i=1;i<=n;i++)
printf("%s %d\n",stu[i].name,stu[i].in-stu[i].out);
return 0;
}


1楼2009-08-16 19:40回复