cf1268 B. Domino for Young

题意:

给一个类似直方图的格子图染色,每次可染一个未染过色的 1*2 或 2*1 区域。问最多染几次

img

思路:

听说是个典中典。先把整个图染成国际象棋黑白棋盘,然后黑格数与白格数中较小者就是答案

ll n, a = 0, b = 0; cin >> n;
for(int i = 1; i <= n; i++) {
    int x; cin >> x;
    if(i & 1) a += (x+1)/2, b += x/2;
    else a += x/2, b += (x+1)/2;
}
cout << min(a, b);
posted @ 2022-04-18 21:46  Bellala  阅读(23)  评论(0)    收藏  举报