CF60A.Where Are My Flakes?
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述

One morning the Cereal Guy found out that all his cereal flakes were gone. He found a note instead of them. It turned out that his smart roommate hid the flakes in one of n boxes. The boxes stand in one row, they are numbered from 1 to n from the left to the right. The roommate left hints like "Hidden to the left of the i-th box" ("To the left of i"), "Hidden to the right of the i-th box" ("To the right of i"). Such hints mean that there are no flakes in the i-th box as well. The Cereal Guy wants to know the minimal number of boxes he necessarily needs to check to find the flakes considering all the hints. Or he wants to find out that the hints are contradictory and the roommate lied to him, that is, no box has the flakes.

某天早晨,麦片哥发现他所有的麦片碎屑都不见了。取而代之的是一张纸条。原来,他聪明的室友把麦片碎屑藏在了 n 个盒子中的某一个里。这些盒子排成一排,从左到右依次编号为 1 到 n。室友留下了一些提示,例如:“藏在第 i 个盒子的左侧”(“在 i 的左侧”)、“藏在第 i 个盒子的右侧”(“在 i 的右侧”)。这类提示同时也意味着:第 i 个盒子中没有麦片碎屑。麦片哥希望知道:在考虑所有提示的前提下,他必然需要检查的最少盒子数量是多少?或者,他希望判断出这些提示自相矛盾,即室友对他撒了谎——实际上没有任何一个盒子中藏有麦片碎屑。
输入格式
The first line contains two integers n and m (1 ≤ n ≤ 1000, 0 ≤ m ≤ 1000) which represent the number of boxes and the number of hints correspondingly. Next m lines contain hints like "To the left of i" and "To the right of i", where i is integer (1 ≤ i ≤ n). The hints may coincide.
第一行包含两个整数 n 和 m(1≤n≤1000,0≤m≤1000),分别表示盒子的数量和提示的数量。接下来的 m 行包含形如“在 i 的左侧”和“在 i 的右侧”的提示,其中 i 是一个整数(1≤i≤n)。提示可能重复。
输出格式
The answer should contain exactly one integer — the number of boxes that should necessarily be checked or "-1" if the hints are contradictory.
答案应恰好包含一个整数——即必须检查的盒子数量;若提示相互矛盾,则输出“-1”。
输入输出样例
输入#1
2 1 To the left of 2
输出#1
1
输入#2
3 2 To the right of 1 To the right of 2
输出#2
1
输入#3
3 1 To the left of 3
输出#3
2
输入#4
3 2 To the left of 2 To the right of 1
输出#4
-1
输入解题思路,AI测评打分。不知道怎么写?