码迷,mamicode.com
首页 > 其他好文 > 详细

杭二信息奥赛学习体会(2) (0712测试)

时间:2016-07-12 19:26:09      阅读:460      评论:0      收藏:0      [点我收藏+]

标签:

一、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

杭二信息奥赛学习体会(2) (0712测试)

标签:

原文地址:http://www.cnblogs.com/TMCK/p/5664479.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!