#p246. parity game

parity game

题目描述

A A 和小 B B 在玩一个游戏。

首先,小 A A 写了一个由 0 0 1 1 组成的序列 S S ,长度为 N N

然后,小 B B 向小 A A 提出了 M M 个问题。

在每个问题中,小 B B 指定两个数 l l r r ,小 A A 回答 S[lr] S[l \sim r] 中有奇数个 1 1 还是偶数个 1 1

机智的小 B B 发现小 A A 有可能在撒谎。

例如,小 A A 曾经回答过 S[13] S[1 \sim 3] 中有奇数个 1 1 S[46] S[4 \sim 6] 中有偶数个 1 1 ,现在又回答 S[16] S[1 \sim 6] 中有偶数个 1 1 ,显然这是自相矛盾的。

请你帮助小 B B 检查这 M M 个答案,并指出在至少多少个回答之后可以确定小 A A 一定在撒谎。

即求出一个最小的 k k ,使得 01 01 序列 S S 满足第 1k 1 \sim k 个回答,但不满足第 1k+1 1 \sim k+1 个回答。

输入格式

第一行包含一个整数 N N ,表示 01 01 序列长度。

第二行包含一个整数 M M ,表示问题数量。

接下来 M M 行,每行包含一组问答:两个整数 l l r r ,以及回答 evenodd,用以描述 S[lr] S[l \sim r] 中有偶数个 1 1 还是奇数个 1 1

输出格式

输出一个整数 k k ,表示 01 01 序列满足第 1k 1 \sim k 个回答,但不满足第 1k+1 1 \sim k+1 个回答,如果 01 01 序列满足所有回答,则输出问题总数量。

数据范围

N109,M5000 N \le 10^9 , M \le 5000

输入样例:

Copy


10

5

1 2 even

3 4 odd

5 6 even

1 6 even

7 10 odd

输出样例:

Copy


3

数据规模与约定

poj1733 ceoi1999

时间限制:1s

空间限制:256MB