Description

平面上有 \(n\) 个与坐标轴平行的矩形。矩形的所有边的长度都是奇数。矩形不能相交,但它们可以互相接触。构造一种染色方案,使得所有相邻矩形的颜色都不相同。

Solution

考虑到“矩形的所有边的长度都是奇数”这个条件,那么如果两个矩形相邻,他们的横纵坐标奇偶性至少有一个不同。

因此我们根据一个顶点的坐标的奇偶性来染色即可。

#include <bits/stdc++.h>
using namespace std;

#define int long long 
int n;

signed main()
{
    ios::sync_with_stdio(false);
    cin>>n;
    cout<<"YES"<<endl;
    while(n--)
    {
        int a,b,c,d;
        cin>>a>>b>>c>>d;
        cout<<1+2*(a&1)+(b&1)<<endl;
    }
}

相关文章: