洗衣服 1003

来源:互联网 发布:淘宝上买的樱桃苗 编辑:程序博客网 时间:2024/05/02 04:37
Problem Description
学校的洗衣机有4种模式:1、单脱水;2、快速洗;3、标准洗;4、大物洗。分别对应的价格是1、2、3、4元。

其中——
单脱水最多脱水3件衣服(无清洗功能);
快速洗最多3件(脱水+清洗);
标准洗最多6件(脱水+清洗);
大物洗最多洗10件(脱水+清洗)。
温馨提醒:以上可以看出,洗衣服中包含脱水功能。

现在XZ累积了n件衣服要处理,其中有m(m<=n)件只需要脱水的,另外n-m件必须清洗。问最少需要几元能把所有衣服处理完?
 

Input
输入数据第一行是一个正整数T(<=30),表示测试数据组数。
接下来T行,每行两个正整数 n m (n,m <=1e6)。
 

Output
对于每组数据,输出一行答案。
 

Sample Input
35 220 15100 3
 

Sample Output
3840
 

//洗衣服 1003//Problem Description//学校的洗衣机有4种模式:1、单脱水;2、快速洗;3、标准洗;4、大物洗。分别对应的价格是1、2、3、4元。////其中——//单脱水最多脱水3件衣服(无清洗功能);//快速洗最多3件(脱水+清洗);//标准洗最多6件(脱水+清洗);//大物洗最多洗10件(脱水+清洗)。//温馨提醒:以上可以看出,洗衣服中包含脱水功能。////现在XZ累积了n件衣服要处理,其中有m(m<=n)件只需要脱水的,另外n-m件必须清洗。问最少需要几元能把所有衣服处理完?// ////Input//输入数据第一行是一个正整数T(<=30),表示测试数据组数。//接下来T行,每行两个正整数 n m (n,m <=1e6)。// ////Output//对于每组数据,输出一行答案。// ////Sample Input//3//5 2//20 15//100 3// ////Sample Output//3//8//40//这题惭愧啊,一直wa,这里是别人代码,思路和别人一样^~^//贪心法直接来即可 #include <iostream>#include <algorithm>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <queue>#include <stack>#include <vector>#include <set>const double PI = acos(-1.0);using namespace std;int main(){    int t;    scanf("%d",&t);    while(t--)    {        int n,m,sum=0;        scanf("%d%d",&n,&m);        m = n-m;//m是要洗的衣服         n-=m;//n是要脱水的衣服         int t=m/10;//先按方案4处理要洗衣服,剩下小于10件         sum+=t*4;//加上价格         m%=10;        if(n+m>=10&&m)//如果有要洗的衣服+要脱水的》=10         {//满足先处理要洗的             sum+=4;            n = n-(10-m);            m = 0;        }        if(m>6)//要洗的衣服大于6件         {            n = n-(10-m);            sum+=4;        }        else if(m>3)//要洗的衣服大于3件         {            sum+=3;            n = n-(6-m);        }        else if(m>0)//有要洗的衣服         {            sum+=2;            n = n-(3-m);        }        sum+=(n+2)/3;//这告诉是脱水的衣服,我没有加2,直接除了,然后就dead了,蓝瘦         printf("%d\n",sum);    }    return 0;}

0 0
原创粉丝点击