问题标题: 酷町堂:谁有思路??2731国王游戏

0
0
已解决
宋灏
宋灏
初级光能
初级光能

题目链接: 酷町堂:2731

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


0
已采纳
夏宇航
夏宇航
初级守护
初级守护

我是用结构体函数写的,结构体及函数如图;

下面是排序函数

主函数思路如下

 

 

输入n,a,b;

for从1~n{

输入s[i].c,s[i].d

s[i].cnt1赋值为s[i].c*1.0/s[i].d;

}

sort排序(s+1,s+n+1,cmp);

for从1~n{

输出s[i].cnt()函数   ,' '   ,   s[i].cnt1   ,' '   ,   s[i].c,   ' ',   s[i].d,   endl;

}

0
0
朱睿辰
朱睿辰
资深守护
资深守护

你要用结构体,定义两个变量分别为国王和大臣

0
李伟宸
李伟宸
中级守护
中级守护
  • 排序函数送给你:
  • bool cmp(money a,money b){
  • if(a.gold!=b.gold) return a.gold>b.gold;
  • return a.left>b.left;
0
万韧山
万韧山
初级天翼
初级天翼

定义结构体根据题目进行sort

国王的金币喝游戏值要在主函数里定义和比较

0
0
0
0
0
0
我要回答