标签:
一、FJ的字母矩阵 (moocrypt)
Description
很少有人知道,奶牛对矩阵很感兴趣,尤其是字母矩阵。农夫约翰(FJ)的奶牛创造了一种字母矩阵新玩法:找单词。比如,现在有一个字母矩阵,如下:
USOPEN
OOMABO
MOOMXO
PQMROM
作为奶牛,他们只对单词“MOO”感兴趣。我们可以在这个矩阵中找到6个“MOO”(在同一行、同一列或者同一条对角线上)
约翰也是字母矩阵迷,因此奶牛们不希望约翰在他们之前解决这个问题,所以,他们要对矩阵进行加密。所谓加密,就是将矩阵中的字母用别的字母代替,比如,你可以用A代替M,B代替O。当然啦,在加密过程中,为了避免冲突,同一个字母不能被加密成两种不同的字母,不同的字母也不可以被加密成相同的字母,字母不能被加密成字母本身。
不幸的是,奶牛不小心把密码本丢失了,你能帮助他们算出这个矩阵中最多可能有多少个“MOO”么?
Input
第一行包括两个整数n,m,表示矩阵有几行几列。接下来输入加密后的字母矩阵。注意:输入的字母全部大写。(1<=n,m<=50)
Output
输出一个整数,表示矩阵中最多有几个“MOO”。
Sample Input
4 6
TAMHGI
MMQVWM
QMMQSM
HBQUMQ
Sample Output
6
Hint
这里 "M" and "O"可以用 "Q" and "M"代替。
二、给FJ的数学题 (geteven)
Description
FJ和JN喜欢在空闲的时候交换着考对方数学题。上一次FJ给JN出的数字题实在是太难了,她没有做出来。所以,她绞尽脑汁想出来一道自认为很难得题目,准备考倒FJ。这个题目是这个样子的:
JN给了约翰一个公式:(B+E+S+S+I+E)(G+O+E+S)(M+O+O),这里的字母都是变量(O是字母,而非数字0)。另外,她还给了一张表格,上面写着这些变量所有可能的值。现在,他需要FJ计算出有多少种可能,使这个公式的结果是偶数。
Input
第一行包括一个整数n,接下来包括n行,每一行包括一个字母和一个数字,如B x,表示x是B这个变量可能的取值。(-300<=x<=300,每个字母至少有一个取值,最多有20种取值,输入不会给重复信息)
Output
输出一个整数,表示答案。
Sample Input
10
B 2
E 5
S 7
I 10
O 16
M 19
B 3
G 1
I 9
M 2
Sample Output
6
Hint
样例种有6种可能,分别是:
(B,E,S,I,G,O,M) = (2, 5, 7, 10, 1, 16, 19) -> 53,244
= (2, 5, 7, 10, 1, 16, 2 ) -> 35,496
= (2, 5, 7, 9, 1, 16, 2 ) -> 34,510
= (3, 5, 7, 10, 1, 16, 2 ) -> 36,482
= (3, 5, 7, 9, 1, 16, 19) -> 53,244
= (3, 5, 7, 9, 1, 16, 2 ) -> 35,496
三、农场里的困境(trapped)
Description
FJ的农场里运来了许多货物,然而,这些货物却给FJ带来了前所未有的困境。
每个货物放置在固定的位置,并且他们有特定的高度,因为农场太窄了,FJ被这些货物拦在了中间。现在有一个解决方法,FJ可以从一端起跑,如果跑过的距离超过D,那么他可以跨越高度为D的货物,当然啦,一旦他跨越了一个货物,他会有更大的空间,去跨越另一个货物(奔跑的距离是累加的)。一旦FJ跨越了最左端或者最右端的货物,他就逃离了困境。
现在,FJ从任意位置出发,存在若干个区间是FJ逃不出去的,请你编写程序,计算出这些区间大小的总和。比如FJ被困在1到5之间,那么这个区间大小就是4。
Input
第一行包括一个整数n (1≤N≤4000),表示货物的数量,接下来n行,每行两个数字gi pi(1…1,000,000,000),分别表示货物的高度和位置。
Output
输出一个整数,表示区间大小的总和。
Sample Input
5
8 1
1 4
7 15
8 8
4 20
Sample Output
14
Hint
无法逃离的区间是[1,8]和[8,15],所以最后总和是7+7=14。
四、回文路径(palpath)
Description
农夫FJ的农场是一个N*N的正方形矩阵(2<=N<=18),每一块用一个字母作标记。比如说:
ABCD
BXZX
CDXB
WCBA
某一天,FJ从农场的左上角走到右下角,当然啦,每次他只能往右或者往下走一格。FJ把他走过的路径记录下来。现在,请你把他统计一下,所有路径中,回文串的数量(从前往后读和从后往前读一模一样的字符串称为回文串)。
Input
第一行包括一个整数N,表示农场的大小,接下来输入一个N*N的字母矩阵。
Output
输出一个整数,表示回文串的数量。
Sample Input
4
ABCD
BXZX
CDXB
WCBASample Output
4
Hint
这四条路径分别是:ABCDCBA, ABCWCBA, ABXZXBA, ABXDXBA
标签:
原文地址:http://www.cnblogs.com/TMCK/p/5664479.html