usaco月赛MOOCRYPT

本文介绍了USACO月赛中的一道题目MOOCRYPT,涉及加密的字谜游戏。奶牛们创建了一个寻找"MOO"字谜,但忘记了替换密码。任务是找出在经过加密后的谜题中,最多可能出现多少个"MOO"。输入输出格式及样例输入输出也一并给出,解题策略为暴力枚举所有可能的"MOO"字符串及其出现次数,找到最大值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值