Codeforces 27D(二分染色)
2024-10-21 07:34:26
要点
- 将边作为染色,如果交叉则异色
#include <cstdio>
#include <algorithm>
#include <functional>
using namespace std;
int n, m;
int a[101], b[101], c[101];
int main() {
scanf("%d %d", &n, &m);
for (int i = 1; i <= m; i++) {
scanf("%d %d", &a[i], &b[i]);
if (a[i] > b[i])
swap(a[i], b[i]);
c[i] = -1;
}
function<void(int, int)> dfs = [&](int u, int color) {
if (c[u] != -1 && c[u] != color) {
puts("Impossible"); exit(0);
} else if (c[u] == -1) {
c[u] = color;
for (int i = 1; i <= m; i++) {
if (a[i] < a[u] && b[i] > a[u] && b[i] < b[u])
dfs(i, color ^ 1);
if (a[i] > a[u] && a[i] < b[u] && b[i] > b[u])
dfs(i, color ^ 1);
}
}
};
for (int i = 1; i <= m; i++)
if (c[i] < 0)
dfs(i, 0);
for (int i = 1; i <= m; i++)
putchar(c[i] ? 'i' : 'o');
}
最新文章
- CSS3 学习笔记
- HTML标记之Form表单
- springmvc视图解析流程
- ACM题目————玩转二叉树
- T4 模板的调试方法,方便大家遇到问题自己快速定位和优化
- 如何有效地记录 Java SQL 日志?
- FPGA的LE数与门数的关系(转)
- CSS3 Media Queries 详细介绍与使用方法
- robotframework代码定位感悟
- mysql语句sum求和为null的问题
- (转)搬瓦工(bandwagonhost)后台管理VPS
- “乐”动人心--2017年10款最佳音乐类APP设计盘点
- BSA Network Shell系列-nsh命令
- CU社区shell板块awk十三问整理
- Python安装与环境变量
- Python内置函数(18)——enumerate
- Jenkins+Git+Maven构建并部署springboot(构建多模块中的单个模块)
- 深入理解 ES6中的 Reflect
- Extjs4 页面加载先白屏后显示的bug解决
- bzoj 1832 lca