p696.cpp 541 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main()
  5. {
  6. int a, b, max_n;
  7. while(cin >> a >> b)
  8. {
  9. if(!a && !b)
  10. break;
  11. if(!a || !b)
  12. {
  13. max_n = 0;
  14. }
  15. else if(a == 1 || b == 1)
  16. {
  17. max_n = a*b;
  18. }
  19. else if(a == 2 || b == 2)
  20. {
  21. max_n = (max(a,b)/4) * 4;
  22. max_n += max(a,b)%4 > 0 ? 2 : 0;
  23. max_n += max(a,b)%4 > 1 ? 2 : 0;
  24. }
  25. else
  26. {
  27. max_n = ceil(a * b/2.0);
  28. }
  29. cout << max_n << " knights may be placed on a " << a << " row " << b << " column board." << endl;
  30. }
  31. return 0;
  32. }