Timus 1820
#include <iostream>
using namespace std;
int main() {
int n, k;
cin>>n>>k;
if( k > n )
n = k;
n *= 2;
if( n % k == 0)
cout<<n/k<<endl;
else
cout<<(n/k + 1)<<endl;
return 0;
}
这个代码是看discuss的,为什么总可以把N块要两面个煎一次的牛扒,看成2N块只需要煎一面的牛扒呢?
#include <iostream>
using namespace std;
int main() {
int n, k, m, r, d, min , tmin;
cin>>n>>k;
min = 2 * ( n / k ) + ( n % k == 0 ? 0 : 2);
for(int i = 0; i <= k/2; i++) {
m = k + i;
r = n % m;
d = n / m;
tmin = d * 3;
if( r != 0 )
tmin += 2;
if( min > tmin )
min = tmin;
}
printf("%d\n", min);
return 0;
}
我原来的这个方法又错在哪? T_T