MOOCRYPT
MOOCRYPT
牛是很喜欢迷,尤其是字谜。农民约翰的奶牛最近创造了一个有趣的“发现单词”难题。这样一个谜题的一个例子是:
USOPEN
OOMABO
MOOMXO
PQMROM
作为牛,他们唯一感兴趣的是“MOO”,它可以出现在搜索这个词在很多地方,水平、垂直或对角线。上面的示例包含6个MOO。
农民约翰也是一个字谜的粉丝。因为牛不想让约翰在牛没有尝试前解决难题,,他们已经加密使用“替换密码”,替换每个字母的字母是不同的。例如,A可能映射到X,B可能映射到A,等等。没有字母替换自己本身,也没有两个字母映射到相同的字母(因为否则解密将模糊)。
不幸的是,牛已经失去了解决难题的替换密码。请帮助他们确定MOO的最大数量,可能存在于一个替换密码替换过的难题。
输入格式(文件moocrypt.in):
输入的第一行包含N和M,描述问题的行和列的数量(最多50)。每个包含M字符下N行,描述一行加密的难题。每个字符是一个大写字母在A. . Z。
输出格式(文件moocrypt.out):
请输出中包含的最大数量的MOO。
样例输入:
4 6
TAMHGI
MMQVWM
QMMQSM
HBQUMQ
样例输出:
6
这是和问题叙述中相同的谜题。这里的“M”和“O”被替换为“Q”和“M”。
题解
好吧,这道题完全是暴力。
暴力枚举可能变为的字串,必须满足条件。
然后暴力枚举该字串的数量,取最大值。
#include<iostream>
#include<cstdio>
#include<cstdlib>