Codeforces Round #609 D:Domino for Young(黑白染色)

原题链接:https://codeforces.ml/contest/1269/problem/D

就是给你一些方块,求最多能放多少个1x2或2x1的多米诺骨牌

黑白染色
相邻的方格颜色不同
答案就是数量少的颜色

代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a[300010];
int main()
{
    ll n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {cin>>a[i];}
    ll black=0;
    ll white=0;
    for(int i=1;i<=n;i++)
    {
        if(i%2!=0)
        {
            if(a[i]%2!=0)
            {black+=a[i]/2+1;
            white+=a[i]/2;}
            else
            {black+=a[i]/2;
            white+=a[i]/2;}
        }
        else
        {
            if(a[i]%2!=0)
            {white+=a[i]/2+1;
            black+=a[i]/2;}
            else
            {white+=a[i]/2;
            black+=a[i]/2;}
        }
    }
    cout<<min(black,white)<<endl;
    return 0;
}
发布了36 篇原创文章 · 获赞 4 · 访问量 1397

猜你喜欢

转载自blog.csdn.net/qq_43781431/article/details/104389727