热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2019牛客暑期多校训练营(第六场)-周五确认问题

时间限制:C/C++5秒,其他语言10秒;空间限制:C/C++262144K,其他语言524288K;64位IO格式:%lld。题目涉及对一系列加密日期进行解密,以确定它们是否均为周五。

时间限制:C/C++ 5秒,其他语言10秒

空间限制:C/C++ 262144K,其他语言524288K

64位IO格式:%lld

题目描述

汤汤非常喜爱周五,并记录了一系列他认为是周五的日期。每个日期格式为“yyyy/mm/dd”,其中“yyyy”代表年份,“mm”代表月份,“dd”代表日。汤汤考虑的年份范围在1600至9999之间,因此所有年份都是四位数,而月份和日可能需要前导零来保持两位数格式,例如,“2019年8月3日”应表示为“2019/08/03”。为了安全存储,汤汤使用了一种简单的替换密码,将每个数字替换成字母‘A’到‘J’中的一个,相同的数字对应相同的字母,不同的数字对应不同的字母。

不幸的是,汤汤忘记了具体的替换规则。请帮助他恢复原始的日期列表。

输入描述

包含多个测试用例。第一行包含一个整数T(1≤T≤10),表示测试用例的数量。每个测试用例的第一行包含一个整数n(1≤n≤1000001),表示日期的数量。接下来的n行每行包含一个加密后的日期字符串,格式为“yyyy/mm/dd”,其中每个数字被替换成了大写字母‘A’到‘J’。

输出描述

对于每个测试用例,输出一行“Case #x: y”,其中x是从1开始的测试用例编号,y是该测试用例的答案。如果无法恢复日期列表,则y为“Impossible”。否则,y是一个由十个不同数字组成的字符串,表示解密列表的密钥。具体来说,y中的第i个数字对应第i个大写字母。如果有多种可能的解,则输出字典序最小的一种。

示例输入

2
1
CABJ/AI/AC
5
CABJ/AI/AC
CABJ/AI/AD
CABJ/AI/AE
CABJ/AI/AF
CABJ/AI/AG

示例输出

Case #1: 0123456789
Case #2: Impossible

题目解析:给定一组由字母A-J组成的字符串,这些字母分别对应数字0-9(具体对应关系未知)。任务是找到一个字典序最小的映射关系,使所有给定的字符串都表示周五。

解决方案:通过模拟和蔡勒公式来实现。蔡勒公式是一种计算给定日期是星期几的方法。本题中,通过遍历所有可能的数字与字母的映射关系,检查每个加密日期是否能正确映射回周五。如果存在多个有效的映射关系,则选择字典序最小的一个。


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
author-avatar
太姥茶叶论坛_730
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有