【题目链接】

http://poj.org/problem?id=1

【算法】

并查集

【代码】

#include <algorithm>
#include <bitset>
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <limits>
#include <list>
#include <map>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <utility>
#include <vector>
#include <cwchar>
#include <cwctype>
#include <stack>
#include <limits.h>
using namespace std; struct Query
{
int l,r,op;
} q[]; int k,n,i,x,y,len;
int l[],r[],fa[],d[],a[];
char s[][]; inline int get_root(int x)
{
if (fa[x] == x) return x;
int f = get_root(fa[x]);
d[x] ^= d[fa[x]];
return fa[x] = f;
} int main()
{ scanf("%d%d",&k,&n);
for (i = ; i <= n; i++)
{
scanf("%d%d%s",&l[i],&r[i],&s[i]);
a[++len] = l[i] - ;
a[++len] = r[i];
}
sort(a+,a+len+);
len = unique(a+,a+len+) - a - ;
for (i = ; i <= n; i++)
{
q[i].l = lower_bound(a+,a+len+,l[i]-) - a;
q[i].r = lower_bound(a+,a+len+,r[i]) - a;
q[i].op = strcmp(s[i],"odd") == ? : ;
}
for (i = ; i <= * n; i++) fa[i] = i;
for (i = ; i <= n; i++)
{
x = get_root(q[i].l);
y = get_root(q[i].r);
if (x == y)
{
if ((d[q[i].l] ^ d[q[i].r]) != q[i].op)
{
printf("%d\n",i-);
exit();
}
} else
{
fa[x] = y;
d[x] = d[q[i].l] ^ d[q[i].r] ^ q[i].op;
}
}
printf("%d\n",n); return ; }

最新文章

  1. .NET Core 2.0版本预计于2017年春季发布
  2. Codeforces Round #366 (Div. 2) ABC
  3. java并行计算Fork和Join的使用
  4. 前端框架——AmazeUI学习
  5. 从C# 到 OC
  6. OpenCV实现的高斯滤波探究_1(《学习OpenCV》练习题第五章第三题ab部分)
  7. java 生成UUID
  8. Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件
  9. PHP+Apache怎样监控多个port和配置多网站
  10. 为了解决linux配置Nginx 只能关闭防火墙才能访问的问题
  11. mac 删除文件夹里所有的.svn文件
  12. [LeetCode] Shifting Letters 漂移字母
  13. BZOJ.4942.[NOI2017]整数(分块)
  14. CI、CD相关概念
  15. homebrew 安装 formula 的不同历史版本——以安装 node 为例
  16. metasploit常见服务的漏点扫描模块
  17. Phoenix系列:二级索引(1)
  18. Java 理论与实践: 用弱引用堵住内存泄漏
  19. Web前端基础——CSS
  20. jenkins+maven+svn+npm自动发布部署实践

热门文章

  1. [转]解决C# WinForm 中 VSHOST.EXE 程序不关闭的问题
  2. IE之css3效果兼容
  3. web拼图错误分析
  4. 读书笔记8-浪潮之巅(part3)
  5. APUE学习笔记3——文件和目录
  6. 配置notepad++编程环境
  7. [Intermediate Algorithm] - Sum All Primes
  8. (转)RabbitMQ学习之主题topic(java)
  9. forEach 列出数组的每个元素:
  10. 团体程序设计天梯赛-练习集-L1-024. 后天