两年前的今天,疫情肆虐武汉,曾经几毛钱的一个一次性医用口罩供不应求,价格也是水涨船高,更有甚者一只口罩卖到了10元。在利益的驱使下也让一些不良商家道德涣散,据相关报道,有商家回收废弃口罩并重新包装销售,这种行为让人们深恶痛绝,阳光社区决定采取行动,他们计划集中处理,回收小区居民的废弃口罩,不让不良商家有可乘之机。
为了调动小区居民的参与度和项目的可行性,他们想出来了个办法——有奖回收。流行的口罩型号有两种,一种为普通医用外科口罩,一种为KN95口罩,他们想在小区门口设立回收点,每当居民回到小区就把自己用过的口罩丢进回收箱里,并在记录本上登记投入口罩数量,每当居民累计投入5个普通医用外科口罩即可得到1只新的普通医用外科口罩,累计投入1只KN95口罩即可获得1只新的普通医用外科口罩,这不仅让避免卖废弃口罩的行为,还给居民带来了福利真是双赢!
稳稳知道了小区的福利也想立马参与进来,如今他还有n个普通医用外科,m个KN95口罩,假定他每半天都要用掉1个口罩(普通医用外科或KN95),如果没有这个活动他的口罩存量只能用n+m个半天也就是(n+m)/2天。此外稳稳得知,当没有新的口罩时,累计四个废旧口罩就可以向社区要1只口罩,这个用废弃后还能再参与回收,这样就能凑够5只再换1只口罩,请你帮他算算他的存量能用几天。
本题有多组测试数据,输入一行内包含两个正整数,分别是稳稳普通医用外科口罩存量n个,KN95口罩存量m个(假定稳稳中途不自行另买口罩)
对每组输入数据,在一行输出口罩能用的天数,每组样例输出后结果保留1位小数、
0 0
1 1
20 0
0.0
1.5
13.0
天数由(废弃普通口罩的个数+废弃n95的口罩的个数)*0.5决定
- #include
- int main()
- {
- int pt,n95;//pt代表普通口罩,n95代表n95口罩
- while(scanf("%d%d",&pt,&n95)==2){
- int fq_kz=0; //fq_kz代表废弃口罩
- double days=0;
- pt+=n95; //由题意知回收一个n95口罩可以领一个普通口罩
- while(pt-5>=0){ //题意知,每4个废弃口罩可以在社区领一个新的普通口罩
- fq_kz+=5;
- pt-=4;
- }
- if(pt==4) fq_kz+=6; //每4个废弃普通口罩可以在社区领一个新的普通口罩,再参与回收,每5个废弃口罩可以领到一个新口罩,最后产生6个废弃口罩
- else fq_kz+=pt;
- days+=fq_kz+n95;
- days=days/2;
- printf("%.1lf\n",days);
- }
- return 0;
- }