#2169. Learning by Example

Learning by Example

题目描述

农民约翰一直在阅读有关机器学习这一激动人心的领域的所有书籍,在那里,人们可以通过分析大量数据来学习有趣的、有时是意想不到的模式(他甚至开始将农场上的一块领域称为"机器学习领域"!)。FJdecidesto\red{FJ decidesto}使用现有牛群的数据建立了一个自动分类系统,可以猜测奶牛是否会有斑点。

不幸的是,FJ\red{FJ}并不擅长跟踪关于这头奶牛的数据。对于他的N\red{N}头奶牛中的每头1<=N<=50000\red{(1<=N<=50000)},他只知道奶牛的体重,以及奶牛是否有斑点。他的每头奶牛都有不同的体重。根据这些数据 ,他构建了所谓的"最近邻分类器"。为了猜测一头新的奶牛C\red{C}是否会有斑点,FJ\red{FJ}首先在他的牛群中找到重量最接近C\red{C}的奶牛C\red{C}。如果C\red{C}’有斑点,那么FJ\red{FJ}猜测C\red{C}也会有斑点;如果C\red{C}’没有斑点,FJ\red{FJ}C\red{C}的猜测是一样的。如果不是一个唯一的最近邻C\red{C}’,而是FJ\red{FJ}的两头奶牛之间的联系,那么FJ\red{FJ}猜测如果这些最近邻中的一个或两个有斑点,C\red{C}将有斑点。

FJ\red{FJ}想在一群刚到农场的奶牛身上测试他的新自动定点预测器。在对这些奶牛称重后,他发现新装运的奶牛中包含一头a\red{a}B\red{B(}包括a\red{a}B\red{B)}之间的每一个整数重量的奶牛。请 确定这些奶牛中有多少将被归类为有斑点,使用FJ\red{FJ}的新分类器。注意,分类器仅使用来自FJ\red{FJ}N\red{N}个现有奶牛的数据进行决策,而不是任何新奶牛。还要注意的是,由于A\red{A}B\red{B}可能都很大,如果程序按1\red{1}A\red{A}循环到B\red{B,}则运行速度可能不够快。

输入格式

输入的第一行包含三个整数N\red{N}A\red{A}B\red{B(}1<=A<=B<=100000000\red{1<=A<=B<=100000000)}。接下来的N\red{N}行分别描述了一头奶牛。每行包含另一个SW\red{S W,}表示重量为W\red{W}的斑点牛,或NSW\red{NS W,}表示重量为W\red{W}的非斑点牛。重量都是范围1\red{1}中的整数。。。1,000,000,000.\red{1,000,000,000.}

输出格式

一个整数,表示FJ\red{FJ}接收的奶牛数量 算法将分类为有斑点。在所示示例中 这里是体重为1\red{1}2\red{2}7\red{7}8\red{8}9\red{9}10\red{10}的奶牛 都会被归类为有斑点。

样例

输入样例

3 1 10
S 10
NS 4
S 1

输出样例

6