Wannafly挑战赛5 B可编程拖拉机比赛 【水】

来源:互联网 发布:国内xp系统优化工具 编辑:程序博客网 时间:2024/04/23 20:49

B 可编程拖拉机比赛

题目描述

“这个比赛,归根结底就是控制一个虚拟的小拖拉机跑完整个赛道。一般一场比赛会有 9 个到 13 个赛道,最后看能跑完多少个赛道。”
通常在一场可编程拖拉机比赛中,分别会有实际参赛队伍数 10%、20%、30% 向下取整的队伍获得金、银、铜牌,其余队伍获得荣誉提名,俗称“铁牌”。
但是主办方往往会多准备一些奖牌,那么在发奖牌的时候会按照比例向上取整发出的奖牌以减少浪费,就会有一些原本获得银牌的队伍获得了金牌。
现在给出一个赛区的规模,也就是这个赛区的实际参赛队伍数,小 Q 同学想知道有多少队伍的奖牌会由银变金、由铜变银、由铁变铜。

输入描述:

输入只有一行,包含一个整数 n (10 <= n <= 1000),表示实际参赛队伍数。

输出描述:

输出一行,包含三个由空格分隔的整数,分别表示奖牌会由银变金、由铜变银、由铁变铜的队伍数。

示例1

输入

115

输出

1 1 2

说明

按照下取整规则只发 11 块金牌的话,第 12 名原本是银牌,但是按照上取整规则发 12 块金牌,第 12 名是金牌,就由银变金了。

题意: 给出参赛队数,让你求每个奖牌的变化情况

分析: 首先由银变金的不用说直接ceil - floor即可,按理来说由铜变银还是ceil - floor ,但是由于添加了由银变金的队伍,所以要加上这些队伍,有铁到铜同理

参考代码

#include <bits/stdc++.h>using namespace std;int main() {    double n;cin>>n;    int a,b,c;    int aa,bb,cc;    a = floor(n*0.1);b = floor(n*0.2);c = floor(n*0.3);    aa = ceil(n*0.1);bb = ceil(n*0.2);cc = ceil(n*0.3);    cout<<aa-a<<' '<<bb-b+aa-a<<' '<<cc-c+bb-b+aa-a<<endl;    return 0;}
  • 如有错误或遗漏,请私聊下UP,thx
原创粉丝点击