首页 > 代码库 > Codeforces 430A Points and Segments (easy)
Codeforces 430A Points and Segments (easy)
题意:让你染色点,要求在给出的区间内|红色个数-蓝色个数|<=1
思路:排序后依次交替染色就能达到效果
#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #include <vector> using namespace std; const int MAXN = 110; int arr[MAXN]; int n,m,x,y; int main(){ scanf("%d%d", &n, &m); vector<pair<int, int> > v; for (int i = 0; i < n; i++){ scanf("%d", &x); v.push_back(make_pair(x, i)); } sort(v.begin(), v.end()); for (int i = 0; i < m; i++) scanf("%d%d", &x, &y); for (int i = 0; i < n; i++){ if (i % 2 == 0) arr[v[i].second] = 0; else arr[v[i].second] = 1; } for (int i = 0; i < n; i++){ if (i > 0) printf(" "); printf("%d", arr[i]); } printf("\n"); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。