Wannafly挑战赛5 B.可编程拖拉机比赛
来源:互联网 发布:lte数据功能收费吗 编辑:程序博客网 时间:2024/04/19 11:40
B.可编程拖拉机比赛
题目描述
“这个比赛,归根结底就是控制一个虚拟的小拖拉机跑完整个赛道。一般一场比赛会有 9 个到 13 个赛道,最后看能跑完多少个赛道。”
通常在一场可编程拖拉机比赛中,分别会有实际参赛队伍数 10%、20%、30% 向下取整的队伍获得金、银、铜牌,其余队伍获得荣誉提名,俗称“铁牌”。
但是主办方往往会多准备一些奖牌,那么在发奖牌的时候会按照比例向上取整发出的奖牌以减少浪费,就会有一些原本获得银牌的队伍获得了金牌。
现在给出一个赛区的规模,也就是这个赛区的实际参赛队伍数,小 Q 同学想知道有多少队伍的奖牌会由银变金、由铜变银、由铁变铜。
输入描述:
输入只有一行,包含一个整数 n (10 <= n <= 1000),表示实际参赛队伍数。
输出描述:
输出一行,包含三个由空格分隔的整数,分别表示奖牌会由银变金、由铜变银、由铁变铜的队伍数。
示例1
输入
115
输出
1 1 2
说明
按照下取整规则只发 11 块金牌的话,第 12 名原本是银牌,但是按照上取整规则发 12 块金牌,第 12 名是金牌,就由银变金了。
解题思路: 一开始感觉这题不能1A系列,突然想枚举题意。仔细想想,好像没那么复杂。可以用ceil函数解决问题(向上取整),同时也有对应的函数floor(向下取整),总体来说,这道题还是很简单的。
#include<bits/stdc++.h>using namespace std;int main (){ //yyy_3y double n; cin >> n; double gold = n*0.1; int ans_1 = 0,ans_2 = 0, ans_3 = 0; if (ceil(gold) == (int)gold) ans_1 = 0; else ans_1 = 1; double silver = n*0.2; if (ceil(silver) == (int)silver) ans_2 = 0; else ans_2 = 1; double cu = n*0.3; if (ceil(cu) == (int)cu) ans_3 = 0; else ans_3 = 1; cout << ans_1 <<" " <<ans_2 +ans_1 << " " <<ans_1+ans_2+ans_3 <<endl;}
阅读全文
0 0
- Wannafly挑战赛5 B.可编程拖拉机比赛
- Wannafly挑战赛5 B可编程拖拉机比赛 【水】
- Wannafly挑战赛5之可编程拖拉机比赛
- Wannafly挑战赛6 B 比赛
- Wannafly挑战赛6 B比赛【暴力枚举】
- Wannafly挑战赛5 B-购物
- newcoder Wannafly挑战赛6 B-比赛(枚举子集)
- Wannafly挑战赛1 B
- 【Wannafly挑战赛2 】B
- Wannafly挑战赛2 B
- Wannafly挑战赛1 B Xorto
- Wannafly 挑战赛5
- 【Wannafly挑战赛5】 A 【思维枚举】B C【排列组合 公式】
- Wannafly挑战赛5 -- A(前缀和) B(思维)
- Wannafly挑战赛1 B.Xorto【思维+二分】
- Wannafly挑战赛1B-(二分)
- Wannafly挑战赛1 B Xorto 前缀和
- nowcoder Wannafly挑战赛1 B 【暴力 + 思维】
- 分布式事务之说说TCC事务
- poj 3661 runnning 区间dp
- PAT 乙级 1076 WIFI密码
- CURL 访问https 发生 NSS error -12190 错误
- centos7安装subline
- Wannafly挑战赛5 B.可编程拖拉机比赛
- (算法分析Week14)Split Array Largest Sum[Hard]
- ansible (理论篇)
- Git常见问题及解决
- Jade使用
- ejs模板小练习
- 前端跨域解决方案
- Ubuntu下 Eclipse JavaHL(JNI) Not Available 解决办法
- python线性回归示例