这道题题目意思很简单
刚开始很容易就想到:只要输出n*2/k向上取整就行了
所以就不加思索打出了一下代码:
#include<bits/stdc++.h>
using namespace std;
int n,k;
int main()
{
cin>>n>>k;
if(n%k==0)
cout<<n*2/k;
else
cout<<n*2/k+1;
return 0;
}
但是,却发现万一 k>n 怎么办
那就输出2就好了
正确代码如下
#include<bits/stdc++.h>
using namespace std;
int n,k;
int main()
{
cin>>n>>k;
if(k>=n)
cout<<2;
else
{
if(n%k==0)
cout<<n*2/k;
else
cout<<n*2/k+1;
}
return 0;
}
还有,这个数据范围真的很恶心
1<=n,k<=10;
让人以为要暴搜
但优化优化就会发现就是上面的思路