P9752 [CSP-S 2023] 密码锁P8814 [CSP-J 2022] 解密

news/2024/10/3 22:46:41

Guten Tag!Schön, dich zu sehen!

今天也是很懒惰的一天呢!所以今天三合一!

题目:[CSP-S 2023] 密码锁

题目描述

小 Y 有一把五个拨圈的密码锁。如图所示,每个拨圈上是从 $0$ 到 $9$ 的数字。每个拨圈都是从 $0$ 到 $9$ 的循环,即 $9$ 拨动一个位置后可以变成 $0$ 或 $8$,

因为校园里比较安全,小 Y 采用的锁车方式是:从正确密码开始,随机转动密码锁仅一次;每次都是以某个幅度仅转动一个拨圈或者同时转动两个相邻的拨圈。

当小 Y 选择同时转动两个相邻拨圈时,两个拨圈转动的幅度相同,即小 Y 可以将密码锁从 $\tt{0;0;1;1;5}$ 转成 $\tt{1;1;1;1;5}$,但不会转成 $\tt{1;2;1;1;5}$。

时间久了,小 Y 也担心这么锁车的安全性,所以小 Y 记下了自己锁车后密码锁的 $n$ 个状态,注意这 $n$ 个状态都不是正确密码。

为了检验这么锁车的安全性,小 Y 有多少种可能的正确密码,使得每个正确密码都能够按照他所采用的锁车方式产生锁车后密码锁的全部 $n$ 个状态。

输入格式

输入的第一行包含一个正整数 $n$,表示锁车后密码锁的状态数。

接下来 $n$ 行每行包含五个整数,表示一个密码锁的状态。

输出格式

输出一行包含一个整数,表示密码锁的这 $n$ 个状态按照给定的锁车方式能对应多少种正确密码。

样例 #1

样例输入 #1

1
0 0 1 1 5

样例输出 #1

81

提示

【样例 1 解释】

一共有 $81$ 种可能的方案。

其中转动一个拨圈的方案有 $45$ 种,转动两个拨圈的方案有 $36$ 种。

【样例 2】

见选手目录下的 lock/lock2.in 与 lock/lock2.ans。

【数据范围】

对于所有测试数据有:$1 \leq n \leq 8$。

测试点 $n\leq$ 特殊性质
$1\sim 3$ $1$
$4\sim 5$ $2$
$6\sim 8$ $8$ A
$9\sim 10$ $8$

特殊性质 A:保证所有正确密码都可以通过仅转动一个拨圈得到测试数据给出的 $n$ 个状态。

思路

因为这道题的数据——n它比较小,所以直接暴力枚举每一个填0~9的五位数。

步骤

1.输入n和n个通过正确密码拨动一次后形成的错误密码

image

2.通过递归枚举出所有的五位数

image

3.检查枚举出的这个密码是否可以变成n个所有的拨动一次后形成的错误密码

image

完整AC代码

image
image

[CSP-J 2022] 解密

题目描述

给定一个正整数 $k$,有 $k$ 次询问,每次给定三个正整数 $n_i, e_i, d_i$,求两个正整数 $p_i, q_i$,使 $n_i = p_i \times q_i$、$e_i \times d_i = (p_i - 1)(q_i - 1) + 1$。

输入格式

第一行一个正整数 $k$,表示有 $k$ 次询问。

接下来 $k$ 行,第 $i$ 行三个正整数 $n_i, d_i, e_i$。

输出格式

输出 $k$ 行,每行两个正整数 $p_i, q_i$ 表示答案。

为使输出统一,你应当保证 $p_i \leq q_i$。

如果无解,请输出 NO

样例 #1

样例输入 #1

10
770 77 5
633 1 211
545 1 499
683 3 227
858 3 257
723 37 13
572 26 11
867 17 17
829 3 263
528 4 109

样例输出 #1

2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88

提示

【样例 #2】

见附件中的 decode/decode2.indecode/decode2.ans

【样例 #3】

见附件中的 decode/decode3.indecode/decode3.ans

【样例 #4】

见附件中的 decode/decode4.indecode/decode4.ans

【数据范围】

以下记 $m = n - e \times d + 2$。

保证对于 $100%$ 的数据,$1 \leq k \leq {10}^5$,对于任意的 $1 \leq i \leq k$,$1 \leq n_i \leq {10}^{18}$,$1 \leq e_i \times d_i \leq {10}^{18}$
,$1 \leq m \leq {10}^9$。

测试点编号 $k \leq$ $n \leq$ $m \leq$ 特殊性质
$1$ $10^3$ $10^3$ $10^3$ 保证有解
$2$ $10^3$ $10^3$ $10^3$
$3$ $10^3$ $10^9$ $6\times 10^4$ 保证有解
$4$ $10^3$ $10^9$ $6\times 10^4$
$5$ $10^3$ $10^9$ $10^9$ 保证有解
$6$ $10^3$ $10^9$ $10^9$
$7$ $10^5$ $10^{18}$ $10^9$ 保证若有解则 $p=q$
$8$ $10^5$ $10^{18}$ $10^9$ 保证有解
$9$ $10^5$ $10^{18}$ $10^9$
$10$ $10^5$ $10^{18}$ $10^9$

20分暴力枚举做法

暴力枚举所有有可能的q和p的值

image

正解

image
image
image

每课一学——Deutsch

一、你好:1.Guten Tag.(多用于正式场合) 2.Hallo.(多用于口语)

二、再见:1.Auf Wiedersehen.(多用于正式场合) 2.Tschüs.(口语)

Auf Wiedersehen!Willkommen zu Ihrem nächsten Besuch!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【STC15】实现printf()重定向的相关问题

本文前提:读者已经知道如何用STC15实现串口重定向的基础知识(大体思路和代码大意)。 如果不知道,请移步:《STC15单片机-串口打印》:https://blog.csdn.net/weixin_46251230/article/details/126679956问题1:uint8_t 数字增长显示错误 /* Private variables-------------…

解决wsl 安装出现Installing, this may take a few minutes… 时间长。且重新打开进入root用户问题

1. 现象 在安装wsl出现 Installing, this may take a few minutes… 等待时间过长,无法启动,或报错。且如果你重新打开终端,出现图二情况(直接进入root用户)。 很显然,你的系统已经正确安装,但是你却跳过了创建用户的步骤,因此,只需要创建一个新用户,并将其设定为默认…

数据库——DQL单表查询

DQL单表查询id name gender age score111111 刘一 女 20 NULL186222 陈二 男 30 90275933 张三 女 24 92266055 李十四 男 20 92134444 王五 女 18 92225573 赵十六 男 22 94一、简单查询(SELECT...FROM...) 1.查询所有字段(*) --SELECT * FROM 表名; SELECT * FROM class…

数据库——DDL数据库和数据表的基本操作

DDL 一、数据库的基本操作 1、创建(CREATE) --CREATE DATABASE/SCHEMA [IF NOT EXISTS] 表名[指定数据库的字符集]; --创建名为my的数据库 CREATE DATABASE my; CREATE SCHEMA my;--如果名为my的数据库不存在则创建,避免了当数据库存在而发生的错误 CREATE DATABASE IF NOT EXI…

安卓Android虚拟机分享及使用

不知道大家伙在安装安卓虚拟机时被各式各样的问题折磨过没,我在安装安卓虚拟机时,遇到的问题简直就像长江之水源源不断,就算是最后安装好了也会因为各式各样的原因无法进入启动桌面。 当我发现这个可以直接导入到电脑一键开启运行的虚拟机时,今天我必须分享给大家!话不多说…

PotPlayer(免费媒体播放器) v1.7.22233.0 多语便携版

概述 PotPlayer是一款由韩国企业Daum开发的免费媒体播放器,它提供了丰富的功能和特点,使其成为许多用户的首选播放器。 软件功能 支持多种音视频格式:PotPlayer支持大多数常见的音视频格式,包括MP4、AVI、MKV、MOV、FLV、MP3、WAV等。高质量的音视频播放:PotPlayer采用了…

25赛季算法组第一阶段第二次培训(ubuntu安装与基本使用)

25赛季算法组第一阶段第二次培训 1. Ubuntu 的介绍 1.1. 操作系统和操作系统的选择 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。 操作系统的作用是管理和控制计…

[Electron] 搭建 Vite+Electron 项目

安装 搭建 Vite 项目(根据官方文档搭建),安装 electron、nodemon。 pnpm install electron nodemon -D配置 electron/main.js file:[electron/main.js]import { app, BrowserWindow } from "electron";const createWindow = () => {const win = new BrowserWin…