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币. 太火爆了,很多人都在关注和讨论,包括一些科技大佬们都很积极的讨论(当然,这里指的是真正的科技大佬,比如 马化腾.王兴等,而不是指哪些割 ...
随机推荐
- SharePoint 新特性及安装需知
以下内容转自Kaneboy 大牛,但我在安装正式版的过程中发现一些问题,主要是.net 版本的问题,弄了我一个晚上,我在下面标出来了.我的安装环境是Windows server 2012 R2 关于详 ...
- mac svn client 设置
经过谷歌和百度N次后,终于搞定SVN的升级,Intellij Idea和Xcode5.1都可以正常使用. 步骤: 1. 下载Subverion的Max安装版.(推荐.使用其他brew和port都试过, ...
- [leetcode] Contains Duplicate
Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your funct ...
- iOS 编译报错
Undefined symbols for architecture i386: “_OBJC_CLASS_$_XXX”, referenced from: objc-class-ref in XXX ...
- 《第一行代码——Android》
<第一行代码——Android> 基本信息 作者: 郭霖 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115362865 上架时间:2014-7-14 出版日期:2014 ...
- NHibernate使用ICriteria分页并返回数据库记录总条数
最近在使用NHibernate,发现进行分页查询无法得到数据库记录的总条数,在网上找了很久没找到具体的实现方法,找到的资料都说得不是很清楚,研究了很久终于写出了这样一个方法. NHibernate下分 ...
- MFC分类
屏幕截图(带光标) MFC Button控件自绘 WM_CTLCOLOR消息 MFC窗口创建.销毁消息流程 DDX_Control.SubclassWindow和SubclassDlgItem 隐藏系 ...
- Linux下shell颜色配置
颜色配置涉及以下几个地方(本人常用的):命令提示符,文件及目录名显示,echo -e命令 1.颜色值分为前景色和背景色,颜色码值对应关系如下: Front Back Color 黑 红 绿 黄(棕) ...
- ECharts 之一——入门
一.简介 ECharts是一个来自百度的开源的javascript图标库.通过ECharts我们可以呈现出多种类型的图表.ECharts底层基于ZRender(一个全新的轻量级canvas类库),创建 ...
- SQLPLUS连接oracle
SQLPlus 在连接时通常有三种方式 1. sqlplus / as sysdba 操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态.比如我们想要启动数据库就可 ...