|
|
@@ -0,0 +1,42 @@
|
|
|
+#include <iostream>
|
|
|
+#include <cmath>
|
|
|
+
|
|
|
+using namespace std;
|
|
|
+
|
|
|
+
|
|
|
+int main()
|
|
|
+{
|
|
|
+ int a, b, max_n;
|
|
|
+
|
|
|
+ while(cin >> a >> b)
|
|
|
+ {
|
|
|
+ if(!a && !b)
|
|
|
+ break;
|
|
|
+
|
|
|
+ if(!a || !b)
|
|
|
+ {
|
|
|
+ max_n = 0;
|
|
|
+ }
|
|
|
+ else if(a == 1 || b == 1)
|
|
|
+ {
|
|
|
+ max_n = a*b;
|
|
|
+
|
|
|
+ }
|
|
|
+ else if(a == 2 || b == 2)
|
|
|
+ {
|
|
|
+ max_n = (max(a,b)/4) * 4;
|
|
|
+ max_n += max(a,b)%4 > 0 ? 2 : 0;
|
|
|
+ max_n += max(a,b)%4 > 1 ? 2 : 0;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ max_n = ceil(a * b/2.0);
|
|
|
+ }
|
|
|
+
|
|
|
+ cout << max_n << " knights may be placed on a " << a << " row " << b << " column board." << endl;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|