Codeforcesラウンド#609 D:若いドミノ(黒と白の着色)

オリジナルタイトルリンクします。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