问题标题: 酷町堂:2713什么意思

0
0
已解决
许致远
许致远
中级守护
中级守护

2713什么意思

2731   国王游戏

题目描述 Description

正逢某国的国庆,该国国王邀请若干位大臣来一起聚会,他们做了一个小游戏,大厅中间放了两个大的纸盒子,纸盒子中分别放了很多的数字,数字可能有重复的,现在包括国王在内的所有人都分别来两个纸盒子中抽取数字,从a盒子中抽取到的数字放在左手中,从b盒子中抽取到的数字放在右手中,现在每个人都将自己左手上的数字除以右手上的数字得到那个人本轮游戏的游戏值,游戏值为小数,国王想给每位大臣奖励金币,规则如下:获得的游戏值比国王大的大臣获得的金币为该大臣的游戏值和国王的游戏值的差值的两倍,获得的游戏值比国王小的大臣获得的金币为该大臣的游戏值和国王的游戏值的差值的一半,,获得的游戏值和国王相等的大臣获得的金币为0,请你按照获得金币从大到小的顺序输出大臣的金币的数量、游戏值的大小和当时左右手分别抽到的数字的大小,如果金币值相等则按照左手抽到的数字从大到小排序。

输入描述 Input Description

第一行:正整数n(n<100),表示大臣的数量
第二行:两个整数,分别表示国王的左手和右手的数字
接下来n行:两个整数,分别表示每位大臣的左手和右手的数字

输出描述 Output Description

输出n行,每行四个数字,用一个空格间隔,按照获得金币从大到小的顺序输出大臣的金币的数量、游戏值的大小和当时左右手分别抽到的数字的大小

样例输入 Sample Input

2 12 3 12 5 10 8

样例输出 Sample Output

1.375 1.25 10 8 0.8 2.4 12 5

许致远在2020-05-25 17:53:33追加了内容

我学到这了


0
已采纳
张亦阳
张亦阳
资深守护
资深守护
  • for(int i=1;i<=n;i++){
  • cin>>a[i].zuo>>a[i].you;
  • if(a[i]. game()>gw)
  • a[i].gold=2*(a[i]. game()-gw);
  • else if(a[i].game()<gw)
  • a[i]. gold=0.5*(gw-a[i]. game());
  • else
  • a[i]. gold=0;
  • }
张亦阳在2020-05-25 19:01:35追加了内容

其他自己想

0
张亦阳
张亦阳
资深守护
资深守护
  • struct stu{
  • int zuo,you;
  • double game(){
  • return (double)zuo/you;
  • }
  • double gold;
  • }a[10010];
0
0
董宇昊
董宇昊
初级启示者
初级启示者

首先,你学到这了吗

其次,我才会发思路

0
0
0
丁博扬
丁博扬
中级天翼
中级天翼
  • 这题是结构体排序题
  • 这题有点难理解
  • 循环(int i=1;i<=n;i++){
  • 输入a[i].z>>a[i].y;
  • a[i].yxz=a[i].z/a[i].y;
  • 如果(a[i].yxz>x.yxz){
  • a[i].jbs=(a[i].yxz-x.yxz)*2;
  • }
  • 否则 如果(a[i].yxz<x.yxz){
  • a[i].jbs=(x.yxz-a[i].yxz)/2;
  • }
  • 否则{
  • a[i].jbs=0;
  • }
  • }
  • 这个循环里是判断金币的
  • 如果不会再来问我
  • 望采纳,谢谢
0
张恩泽
张恩泽
高级天翼
高级天翼

这个是结构体,写好排序函数就可以了

0
我要回答