#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

