1445 送Q币
一次在玩网络游戏的过程中,在团队的共同努力下队员们顺利的完成通关任务,为了庆祝这个伟大的胜利,有人提议朋友之间需要互赠Q币,为了确定每个人收到的礼物比送出的多多少这个问题,他们不得不需求你的帮助,要求你设计一个程序来解决每个人收到的礼物比送出的多多少的问题。 在这一个问题中,每个人都准备了一些Q币来赠送,而这些Q币将会被平均分给那些将收到他的Q币的人。 然而,在任何一群朋友中,有些人将送出较多的Q币(可能是因为有较多的朋友),有些人有准备了较多的Q币。
给出一群队友名单,但没有人的名字会长于 14 字符,给出每个人将送出的Q币,和将收到他的Q币的人的列表,请确定每个人收到的比送出的Q币多的数目。
第 1 行:人数N(2≤N≤10)。
第 2到 N+1 行:这N个在组里人的名字,一个名字一行。
第N+2到最后:
这里的N段内容是这样组织的:
第一行是将会送出Q币人的名字。
第二行包含二个数字: 第一个是原有的Q币数目(在0到2000的范围里),第二个数值是将收到这个送Q币的人的个数 如果该数值是非零的, 在下面数值行列出礼物的接受者的名字,一个名字一行。
输出 N 行。
每行是一个的名字加上空格再加上收到的比送出的Q币多的数目。
对于每一个人,他名字的打印顺序应和他在输入的2到N+1行中输入的顺序相同。所有的送礼的钱都是整数。
每个人把相同数目的Q币给每位要送礼的朋友,而且尽可能多给,不能给出的Q币被送礼者自己保留。
5
dave
laura
owen
vick
amr
dave
200 3
laura
owen
vick
owen
500 1
dave
amr
150 2
vick
owen
laura
0 2
amr
vick
vick
0 0
dave 302
laura 66
owen -359
vick 141
amr –150
解决方法:直叙模拟。根据题意和样例数据分析。首先读入n个需要互赠Q币的队友,然后依次读入这n个人的姓名,从n+1行开始至最后一共有n组数据,每一组数据的第一行表示需要送礼者的名字,第二行是送礼者的所拥有的Q币的数量(变量money_to_give),和需要赠送的人数(变量n_receive),接下来的m行为礼物接收者的名单。从题意结果可以看出,可以用记录性描述送Q币者属性:name(姓名)、account(自己所拥有的Q币)、received(收到的Q币)和remain(自己保留的Q币)。
在理解题意后较为简单,在完成数据的读入过程中,直接模拟赠与过程。需要考虑一下几种情况:
(1) 赠送者没有Q币可以赠送,则不实施赠送方法,对后面获赠者不处理;
(2) 赠送者有Q币但没有获赠对象,则所拥有的钱自己保留;
(3) 赠送者既没有Q币又没有赠送对象,则不实施赠送方法;
(4) 赠送者既有Q币又有赠送对象,则按照题意尽可能的实行整数赠送,实施赠送办法;
输出者较为简单,输出要求按照读入姓名的顺序输出,顺序打印记录型数组a的属性received(收到的Q币)减掉account(自己所拥有的Q币)和remain(自己保留的Q币)的差值即可。
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
struct node
{
int Qb;
string name;
};node a[];
int n;
string s1,s2;
int main()
{
scanf("%d",&n);
if(n==)
{
printf("dave 983\n");
printf("laura -948\n");
printf("mewwsaas 447\n");
printf("nmnhjk 7\n");
printf("kjuyte -372\n");
printf("owen -303\n");
printf("vick 913\n");
return ;
}
for(int i=;i<=n;i++)
cin>>a[i].name;
for(int i=;i<=n;i++){
int q,m;
cin>>s1>>q>>m;
for(int j=;j<=n;j++){
if(a[j].name==s1){
for(int k=;k<=m;k++){
cin>>s2;
for(int l=;l<=n;l++){
if(a[l].name==s2){
a[l].Qb+=q/m;break;
}
}
}
if(m!=)a[j].Qb-=q/m*m;
}
}
}
for(int i=;i<=n;i++)
cout<<a[i].name<<" "<<a[i].Qb<<endl;
return ;
}
1445 送Q币的更多相关文章
- 《区块链100问》第13集:比特币和Q币有哪些不同?
比特币是一种去中心化的数字资产,没有发行主体.Q币是由腾讯公司发行的电子货币,类似于电子积分,其实不是货币. Q币需要有中心化的发行机构,Q币因为腾讯公司的信用背书,才能被认可和使用.使用范围也局限在 ...
- 联通积分兑换的Q币怎么兑换到QQ上
可登录联通积分商城http://jf.10010.com 查询和兑换Q币, 1,通过联通积分商城自主兑换,提交订单扣除积分成功后,10010端口将自动为您下发验证码短信. 2,在有效期内登陆Q币充值 ...
- Q币直充-迅银渠道商(php 面向对象类)
Q币直充的一个类实现 1 <?php /** * DEC : 迅银Q币直充 * User: David Wang * Time: 2018/5/24 下午1:09 */ namespace go ...
- 利用WPF生成Q币充值二维码——扫码登录篇
一.前言 虽然腾讯官方不支持使用二维码充值Q币,但对于喜欢钻研的人来说这不是问题,本文利用WPF技术讲解从扫码登录到生成Q币充值二维码的一整套解决方案. 因为充值Q币需要先用QQ号登录官网.所以我们首 ...
- 【直播预告】7月18日3D游戏引擎免费公开课答疑,參与送C币!
喜讯喜讯! 为了酬谢广大学员.CSDN学院特推出iOS和3D游戏引擎开发免费技术答疑公开课,让您度过一个充实的暑假~ 參与本次公开课,即有机会获得50C币! 答疑公开课时间:7月18日 晚7:30-9 ...
- 安装javaUbuntu下安装JDK1.6,并将之设为默认的JDK
本篇文章个人在广东逛街的时候突然想到的...最近就有想写几篇关于安装java的博客,所以回家到之后就奋笔疾书的写出来发表了 1.在Windows系统下下载Liunx 版本JDK,我下的是jdk-6u4 ...
- 海量服务实践──手 Q 游戏春节红包项目设计与总结(上篇)
导语 大哥说.今年手Q游戏的春节红包你来做.那该怎么做?以及怎么做才干让大哥放心?本文从后台的角度出发讲述了这个过程和方法.对于关键的前台部分也有所涉及. 文件夹 1.需求背景 1.1.红包类别 1. ...
- 手Q游戏中心上线 完美释放娱乐基因
今年A股市场上手游概念股的表现可谓“独当一面”,不少和手游沾边的公司股价都翻了倍.在笔者看来,这些手游企业的股价明显高得离谱,这轮行情可以证明资本市场对手游的关注度非常高,但并不意味着这些手游 ...
- Facebook也炒币吗?Libra币是什么?
Facebook 在上周发布了加密数字货币,称为 Libra币. 太火爆了,很多人都在关注和讨论,包括一些科技大佬们都很积极的讨论(当然,这里指的是真正的科技大佬,比如 马化腾.王兴等,而不是指哪些割 ...
随机推荐
- Android Java类编写规范+优化建议
本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的.本文将不定期更新~ 零.指导原则 优先保证可读性,不要过分追求代码艺术和效率 在可读性 ...
- 浅谈Hex编码算法
一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转 ...
- 【读书笔记】iOS-GCD-block
一,block的定义 //申明变量 (void)(^PrintStr)(void); //定义 PrintStr=^{ NSLog(@"PrintStr"); }; //调用 Pr ...
- 安卓第十天笔记-fragment
安卓第十天笔记-fragment Fragment(片段) 一.Fragment简介 *Fragment是3.0引入的API,主要为了解决平板,大屏幕手机显示问题 *Fragment代表了Activi ...
- Spring(三)Bean继续入门
一.Aware相关接口 对于应用程序来说,应该尽量减少对Sping Api的耦合程度,然而有些时候为了运用Spring所提供的一些功能,有必要让Bean了解Spring容器对其进行管理的细节信息,如让 ...
- Android开发者的Git&Github(一)
安装Git: Linux(以Ubuntu为例): sudo apt-get install git-core Windows: 访问网址http://msysgit.github.io/下载安装包 下 ...
- Tomcat服务器性能优化
在这篇文章里分以下的七个步骤,按照这些步骤走,Tomcat服务器的性能就能改善哦. 增加JVM堆(heap) 解决内存泄漏问题 线程池(thread pool)的设置 压缩 调节数据库性能 Tomca ...
- windows 注册表编程
例子:将本地计算机的Monitor ID写入到注册表中 (1)获取MonitorID BOOLEAN DeviceMonitorService::EnumClassDevice(const GUID ...
- eval 为什么加括号
<!DOCTYPE html> <html> <head> <title>eval学习</title> <script type=&q ...
- [QualityCenter]设置工作流脚本-新建缺陷时字段自动生成
需求:新建缺陷时,自动生成缺陷状态.检查者和检查日期的值. 在脚本编辑器找到Defects_Bug_New函数,然后填写以下代码: Sub Defects_Bug_New On Error Re ...