zoukankan      html  css  js  c++  java
  • CodeForces 430A Points and Segments (easy)(构造)题解

    题意:之前愣是没看懂题意...就是给你n个点的坐标xi,然后还规定了Li,Ri,要求给每个点染色,每一组L,R内的点红色和黑色的个数不能相差大于1个,问你能不能染成功,不能输出-1,能就按照输入的顺序输出颜色

    思路:我会说我根本没想到怎么做吗?显然只要交替染色相差就不会大于1

    代码:

    #include<set>
    #include<map>
    #include<stack>
    #include<cmath>
    #include<queue>
    #include<vector>
    #include<string>
    #include<cstdio>
    #include<cstring>
    #include<sstream>
    #include<iostream>
    #include<algorithm>
    typedef long long ll;
    using namespace std;
    const int maxn = 100 + 10;
    const int MOD = 1e9 + 7;
    const int INF = 0x3f3f3f3f;
    struct node{
        int id, col, i;
        bool operator < (const node x) const{
            return id < x.id;
        }
    }a[maxn];
    bool cmp(node x, node y){
        return x.i < y.i;
    }
    int main(){
        int n, m, c;
        scanf("%d%d", &n, &m);
        for(int i = 1; i <= n; i++) scanf("%d", &a[i].id), a[i].i = i;
        for(int i = 1; i <= m; i++) scanf("%d%d", &c, &c);
        sort(a + 1, a + n + 1);
        for(int i = 1; i <= n; i++) a[i].col = i & 1;
        sort(a + 1, a + n + 1, cmp);
        for(int i = 1; i <= n; i++){
            if(i != 1) printf(" ");
            printf("%d", a[i].col);
        }
        printf("
    ");
        return 0;
    }
  • 相关阅读:
    windows server2016设置关闭自动更新
    ubuntu20/mac 安装php8.0
    Linux / Python 打印花式字符串
    Linux 增加 DNS 域名解析服务器
    挺不错的一个开源国产上线部署平台:walle
    Python 定时任务实现只执行一次的方法
    JavaScript 正则入门
    grid布局详解
    flex布局详解
    CSS3 入门指南(二)
  • 原文地址:https://www.cnblogs.com/KirinSB/p/10389239.html
Copyright © 2011-2022 走看看