2020 − 10 − 27 2020-10-27 2020−10−27 牛客普及 T 1 T1 T1 购物
时
间
限
制
:
C
/
C
+
+
秒
,
其
他
语
言
2
秒
时间限制:C/C++ 秒,其他语言2秒
时间限制:C/C++秒,其他语言2秒
空
间
限
制
:
C
/
C
+
+
262144
K
,
其
他
语
言
524288
K
空间限制:C/C++ 262144K,其他语言524288K
空间限制:C/C++262144K,其他语言524288K
题目描述
超市进行了买
k
k
k 送一的活动,商品的单价是
x
x
x 元,牛妹想至少买
n
n
n 件商品,
输出最少需要花费多少钱。
输入描述:
第一行一个整数 T < = 100 T<=100 T<=100,表示 T T T 组数据。
接下来 T T T 行,每行 3 3 3 个整数 n , k , x ( 1 ≤ n , x ≤ 1000 , 1 ≤ k ≤ 100 ) n,k,x(1≤n,x≤1000,1≤k≤100) n,k,x(1≤n,x≤1000,1≤k≤100)
输出描述:
对于每组数据输出一行表示答案。
示例1
输入
3
3
3
3
3
3
2
2
2
1
1
1
10
10
10
3
3
3
4
4
4
5
5
5
3
3
3
2
2
2
输出
2
2
2
32
32
32
8
8
8
思路:因为数据太小,所以可以用O
(
n
t
)
(nt)
(nt)的算法枚举完成 (划水的暴力 )
当然 O ( 1 ∗ t ) O(1*t) O(1∗t)的数学解法会更好
c o d e : code: code:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
//#define r register
#define rep(i,x,y) for(int i=x;i<=y;++i)
#define per(i,x,y) for(int i=x;i>=y;--i)
using namespace std;
typedef long long ll;
int t,n,k,x;
int main()
{
scanf("%d",&t);
rep(i,1,t)
{
scanf("%d%d%d",&n,&k,&x);
int cnt=0,tj=0,ans=0;
while(cnt<n)
{
++cnt;++tj;
if(tj==k) tj=0,++cnt;
ans+=x;
}
printf("%d\n",ans);
}
return 0;
}
暴 力 牛 逼 暴力牛逼 暴力牛逼