问题 4647 --谁在作弊?

4647: 谁在作弊?

时间限制: 1 Sec  内存限制: 256 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

  CC老师和其它老师在监考的时候,发现有极少一部分同学,铤而走险的要和周围的同学讨论一下考试题目,而教导处的老师批示,要监考老师记录下这些学生的学号。   但老师门发现,如果找到人,再去对学号 ,很容易就对错啦,这样会冤枉没有犯错误的同学,老师们很是苦恼,又没有时间去找到一个好的办法去解决这个问题。这时老师想到了聪明的你,现在要你帮助老师解决这一问题。

老师是站在讲台上,从左开始数1…n(1< = n< =10)列,从前往后数1…m(1< =m< =30)行。

S:表示 这个同学和其前面的同学在讲话。

X:表示 这个同学和其后面的同学在讲话。

Z:表示 这个同学和其左面的同学在讲话。

Y:表示这个同学和起右面的同学在讲话。

输入

有多组测试数据,第一行输入老师要监考t个考场。

每组数据第一行输入m,n,表示教室内有m行n列的考生。

接下来输入m行,每行n个正整数,表示这个教室学生的学号(学号在int型范围内且无重复的出现)。

接着有多行输入,每行输入两个整数 H,L 和一个字符 D。表示第 H 行,L 列的学生在讲话,D表示其说话的对象在他的哪个方向(字符S,X,Z,Y表示上下左右)。

而且保证输入情况都是存在的。当H和L 为0时结束本考场的监考。

输出

输出这个考场的Case number:和这个说话的学生和其对话的学生的学号,用and分开,主动说话的学生在前输出。

用空行分开各个考场的记录情况。

样例输入

2<br/><br/>3 4<br/>1 2 3 4<br/>5 6 7 8<br/>9 10 11 12<br/>1 3 Z<br/>3 2 Y<br/>0 0<br/><br/>1 2<br/>23 34<br/>1 1 Y<br/>1 2 Z<br/>1 1 Y<br/>0 0

样例输出

Case 1: 3 and 2.<br/>Case 2: 10 and 11.<br/><br/>Case 1: 23 and 34.<br/>Case 2: 34 and 23.<br/>Case 3: 23 and 34.<br/>

来源

[提交][状态]