您的位置:首页 > 理论基础 > 计算机网络

2017年浙江工业大学大学生程序设计迎新赛决赛—网络同步赛 K qwb的骚扰【分类讨论】

2017-12-23 18:55 316 查看
时间限制:C/C++ 1秒,其他语言2秒

空间限制:C/C++ 131072K,其他语言262144K

64bit IO Format: %lld

题目描述

自从学姐拒绝了qwb之后,qwb开始了疯狂的骚扰。qwb来到了一个公共电话亭,他摸摸口袋只有n元钱。

已知该公用电话的规则是,前3分钟一共收费x元(不到3分钟也要收x元),超过3分钟每分钟收费y元(不到1分钟也要收y元)。(先扣钱再打电话。)

那么问题来了,qwb最多骚扰学姐几分钟?(假设学姐不会挂qwb电话)

输入描述:

第一行输入一个整数T,表示数据组数,

接下来T行,每行三个整数n,x,y 。

输出描述:

每行输出一个整数,表示qwb最多骚扰学姐的分钟数。

示例1

输入

2

10 5 1

5 4 1

输出

8

4

备注:

1≤T≤10000,

1≤n,x,y≤10000

分析:共有三种情况。一次电话也不能打,打多次电话用y补,打一次电话。

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
const int maxn = 1e3 + 10;
int a[maxn];
int cmp(int a, int b) {
return a > b;
}
int main()
{
int T;
scanf("%d", &T);
while (T--) {
int n, x, y;
scanf("%d%d%d", &n, &x, &y);
int tmp=3*y;
if (tmp <= x) {
int ans = 0;
if (n < x) {
printf("0\n");
continue;
}
else {
ans += 3;
n -= x;
ans += n / y;
printf("%d\n", ans);
}
}
else {
int ans = 0;
if (n < x) {
printf("0\n");
continue;
}
else {
ans += 3;
n -= x;
ans += 3*(n / x);
n = n%x;
ans += n / y;
printf("%d\n", ans);
}
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐