【2020暑期海亮集训】Day 1:从枚举到DFS模拟赛(7.17)

题目

T1-及格 pass

题目描述

小A这学期上了一门课,这门课分数的评定标准如下:
课程分数 = x ∗ a % + y ∗ b % + z ∗ ( 100 − a − b ) % =x*a\%+y*b\%+z*(100-a-b)\% =xa%+yb%+z(100ab)% 其中 x x x 为平时作业成绩、 y y y 为期中考试成绩、 z z z 为期末考试成绩, x , y , z , a , b , 100 − a − b x,y,z,a,b,100-a-b x,y,z,a,b,100ab 均是不大于 100 100 100 不小于 0 0 0 的整数,最终分数如果有小数部分则直接舍去。
现在小A知道了自己平时作业、期中考试的成绩以及比例系数a和b,他想知道为了达到及格( 60 60 60 分),自己期末至少要得到多少分,如果小A无论如何都无法及格,那么就输出"poor little A!"(不含引号)。

输入格式

第一行一个正整数 T,表示数据组数。
接下来 T 行,每行四个非负整数 x, y, a, b。

输出格式

共输出 T 行,分别表示每组数据中,小 A 期末要得到多少分,或者 “poor little A!”

样例输入
3
100 80 20 30
100 100 50 30
100 0 0 50
样例输出
32
0
poor little A!
数据规模

对于 100% 的数据: 1 ⩽ T ⩽ 1000 1\leqslant T\leqslant 1000 1T1000 0 ⩽ x , y , a , b ⩽ 100 0\leqslant x,y,a,b\leqslant100 0x,y,a,b100 0 ⩽ a + b ⩽ 100 0\leqslant a+b\leqslant100 0a+b100

解题思路
  • 这道题其实还是挺水的,是一道签到题,然而我一不小心踩坑了,然后就签到失败… ( ಥ ﹏ ಥ ) (ಥ﹏ಥ) ()
  • 好像直接 O ( 1 ) O(1) O(1) 就能过?但得处理一些特殊情况。你仔细想一想,直接减法、除法求出 z z z,是不是要除以 ( 100 − a − b ) % (100-a-b)\% (100ab)%?万一 ( 100 − a − b ) % (100-a-b)\% (100ab)%是 0 呢?众所周知,0 不能作为除数,因此,想要方便一点就一重循环枚举 z z z 吧,反正 z z z 一定是整数,数据又小…
Code

这里就直接贴AC代码了,不误导小朋友(大雾)

#include <bits/stdc++.h>
using namespace std;
int T;
int main()
{
   
	freopen("pass.in","r",stdin);
	freopen("pass.out","w",<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值