| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #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;
- }
|