#include <iostream> using namespace std; int main() { int W, H; cin >> W >> H; int arr[4] = { 1,1,0,0 }; int num = W * H; int mol = num % 4; int count = ((num - mol) / 4) * 2; for (int i = 0; i < mol; ++i) { count += arr[i]; } cout << count << endl; return 0; }
思路:在 W 和 H 确定的情况下,体积相等,那么可将问题转化成 宽为1,长为W*H的情况
再根据要求,一定满足: 1 1 0 0 1 1 0 0 ... 1 1 0 0,发现总是围绕着 1 1 0 0 来排列,那么推公式