您的位置:首页 > 教育 > 培训 > 店铺空间设计案例_网易免费企业邮箱入口_手机免费建站app_深圳推广公司哪家好

店铺空间设计案例_网易免费企业邮箱入口_手机免费建站app_深圳推广公司哪家好

2024/10/6 6:37:55 来源:https://blog.csdn.net/qq_40432278/article/details/142471404  浏览:    关键词:店铺空间设计案例_网易免费企业邮箱入口_手机免费建站app_深圳推广公司哪家好
店铺空间设计案例_网易免费企业邮箱入口_手机免费建站app_深圳推广公司哪家好

  首先抽自己一巴掌,A题自信提交直接WA,故写此题解警示一下(顺便水一水)。

翻译

  原题链接
在这里插入图片描述

思路

  显然,若搅拌机单位时间能处理的水果数 x x x小于人每次丢进去的数量 y y y那人只需要一直扔进去就好了,而搅拌机要考虑的可就多了 。所以直接每次处理 x x x个就行了,不用管 y y y。反之,若 x > y x > y x>y,则每次处理 y y y个就行了。

  整理一下,需要的时间为: t = ⌈ n m i n ( x , y ) ⌉ t=\left \lceil \frac{n}{min(x, y)} \right \rceil t=min(x,y)n,此处为向上取整。

  那我是怎么错的呢——为了方便,我没有用 c e i l ceil ceil方法,而是把式子变成了:

t = ( n − 1 ) / m i n ( x , y ) + 1 t=(n-1) / min(x, y) + 1 t=(n1)/min(x,y)+1

  解释一下,这里利用了C++的整数类型作除法自动向下取整的特点,检查一下 n n n整除或不整除 m i n ( x , y ) min(x,y) min(x,y)两种情况,,就会发现和原式等价。

  但是,关键的地方来了,再读题发现 n n n可以等于 0 0 0,然后这个式子就出问题了……

  解决方法就是加个特判。

代码

#include<bits/stdc++.h>
#define int long long 
using namespace std;
signed main() {int t; cin>>t;while(t--) {int n, x, y; cin>>n>>x>>y;if(n == 0) cout<<0<<endl;else cout<<(n-1) / min(x, y) + 1<<endl;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com