hdu 5310 Souvenir (简单题)

这是一道稍微仔细想想就可以做出来的简单题,而我wa了两次,这也是把它写上来的原因,只是因为我没有认真想,还是不够仔细啊,还是很马虎啊,不能慌张,得仔细读题,慢慢想题。

思路:

    一共只有几种情况:1全部用单价p买;2全部用套装q买;3先用套装买,剩下的用单价p买

注:不必判断先用单价p再用套装(如果先用p的话就证明单价比套装更划算(买相同数量所需要的话费))

贴代码:

#include<stdio.h> 
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int T,n,m,p,q;
	scanf("%d",&T);
	while(T --)
	{
		scanf("%d%d%d%d",&n,&m,&p,&q);
		int ans,ans1,ans2,ans3;
		ans1 = p*n;
		if(n%m==0)
			ans2 =  n/m*q;
		else
			ans2 = (n/m+1)*q;
		ans3 = n/m*q + n%m*p;
		ans = min(ans1,min(ans2,ans3));
		printf("%d\n",ans);
	}
	return 0;
}

你可能感兴趣的:(hdu 5310 Souvenir (简单题))