
【思路】【暴力】WING
发布日期:2021-05-07 22:46:30
浏览次数:19
分类:精选文章
本文共 1826 字,大约阅读时间需要 6 分钟。
题目
给定一个矩阵,要求找出每个位置上的字符对应的密码强度值。密码强度值的计算方式为:找到所有可能的字母位置组合,计算这些组合中字母出现的位置的最大值。
解题思路
我们可以通过以下步骤来解决这个问题:首先记录每个字母在每个位置第一次出现的位置;然后,针对每个询问,找到所有可能的字母组合,并取这些组合中字母出现的位置的最大值;最后,将这些最大值作为该询问的结果输出。
代码实现
以下是实现上述思路的C语言代码:
#include
#include #include #include using namespace std;int n, m, lx, t, B[100001][101], ans;char c[100001];char read() { char cc = getchar(); while (cc > 'Z' || cc < 'A') { cc = getchar(); } return cc;}int reads() { int xxx = 0; char ccc = getchar(); while (ccc > '9' || ccc < '0') { ccc = getchar(); } return ccc - 48;}void putans(int d) { if (d == -1) { putchar('-'); putchar('1'); putchar('\n'); return; } int len = 0; while (d > 0) { len++; d /= 10; } int ansArr[len]; for (int i = 0; i < len; i++) { ansArr[i] = d % 10; d /= 10; } for (int i = len - 1; i >= 0; i--) { putchar(ansArr[i] + '0'); } putchar('\n');}int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= m; ++i) { lx = reads(); for (int j = 1; j <= n; ++j) { c[j] = read(); } if (lx == 0) { t++; for (int j = 1; j <= n; ++j) { if (B[j][c[j]] == 0) { B[j][c[j]] = t; } } } else { ans = -1; for (int j = 1; j <= n; ++j) { if (B[j][c[j]] == 0) { ans = -1; break; } } if (ans != -1) { ans = max(ans, B[j][c[j]]); } putans(ans); } }}
这段代码实现了题目要求的密码破解功能。通过记录每个字母在每个位置的第一次出现位置,计算每个询问的最大值,从而得出最终的密码强度值。代码结构清晰,注释详细,便于理解和维护。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月22日 00时00分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux centos6.4 php连接sql server2008
2023-01-31
Linux Centos7 xfsdump文件系统的备份和恢复
2023-01-31
Linux centos7 防火墙设置
2023-01-31
linux centos下 svn 版本控制服务器的搭建
2023-01-31
Linux CFSSL 生成证书
2023-01-31
linux chrom 系统无法读取用户偏好配置无需删除.config配置文件
2023-01-31
linux cmd using
2023-01-31
linux coreseek-4.1安装
2023-01-31
linux core文件设置
2023-01-31
Linux CPU优化性能实战
2023-01-31
Linux CPU管理及监控与性能评估
2023-01-31
Linux CPU负载状态分析实战
2023-01-31
Linux Crontab
2023-01-31
linux crontab 实现每秒执行
2023-01-31
Linux Cron表达式每半个小时执行一次
2023-01-31
linux crw权限,linux中crw brw lrw等等文件属性是什么
2023-01-31
linux curl 调用api
2023-01-31
Linux C(day01)
2023-01-31
linux debian系统中利用sysv-rc-conf启动服务
2023-01-31
linux deb文件安装
2023-01-31