首页 > 其他 > 详细

USACAO gift1

时间:2014-12-13 13:30:06      阅读:264      评论:0      收藏:0      [点我收藏+]

背景:模拟,结构体,strcmp()。

学习:1.最大的易错点是,除数为0的情况,开始没有考虑,调了才发现。

/*
ID:jibancan1
LANG:C++
TASK:gift1
*/
#include<stdio.h>
#include<string.h>
  struct child{
    	char str[15];
	    int x;                          //输出与接收的差值。 
  }p[10];
int main(void){
	freopen("gift1.in","r",stdin);
	freopen("gift1.out","w",stdout);
	int np;
	scanf("%d",&np);
	for(int i=0;i<np;i++)
	    scanf("%s",p[i].str);
	char key[15];                        //暂时存放读入的字符串。    
	for(int j=0;j<np;j++){
		scanf("%s",key);
		int k=0;                      //找出当前读入名字是哪个? 
		for(;k<np;k++)
		    if(strcmp(key,p[k].str)==0) break;
		int money,ng;                 //初始的钱和要给的人数。 
		scanf("%d %d",&money,&ng);    
		if(ng!=0) p[k].x-=money-money%ng;
		for(int ii=0;ii<ng;ii++){     //把钱分给ng个人。
			scanf("%s",key);
			for(k=0;k<np;k++)
				if(strcmp(key,p[k].str)==0)  break;
			if(ng!=0)	p[k].x+=money/ng;	
		}    
	}
	for(int jj=0;jj<np;jj++)
		printf("%s %d\n",p[jj].str,p[jj].x);
	return 0;   
}



USACAO gift1

原文:http://blog.csdn.net/jibancanyang/article/details/41909129

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!