P6354 [COCI2007-2008#3] TAJNA

题目传送门

题目描述

使用一种加密算法。

设字符串的长度为 n,则构造一个矩阵,使得 r×c=n 且在 r≤c 的情况下使得 r 尽量大。

然后把给定的明文按照由上到下,从左到右的顺序填充这个 r×c 的矩阵。

得到的密文就是把矩阵按照从左到右,从上到下的顺序输出的字符串。

给定你明文,请你输出密文。

输入格式

一行一个字符串,表示明文。

输出格式

一行一个字符串,表示密文。

输入输出样例

输入 #1

bok

输出 #1

bok

输入 #2

koaski

输出 #2

kakosi

输入 #3

boudonuimilcbsai

输出 #3

bombonisuuladici

说明/提示

样例 3 解释

共 16 个字符,对于矩阵的长宽,可以选择 1×16,2×8 和 4×4 这三种,因为要求 r 尽量大,所以选择 4×4。

然后进行填充,填充的结果如上图所示。

最后从左到右,从上到下输出每个字符即可。

数据规模与约定

对于 100% 的数据,保证输入字符串只含小写字母,长度不超过 100。

说明

题目译自 COCI2007-2008 CONTEST #3 T3 TAJNA

思路 

首先输入密文 s,s 是一个 string 类型

长度 l 用  .size() 函数计算,因为要使 r 尽可能大,则让 r 从 sqrt(l)​ 开始,依次减一

使用数组 存储矩阵

#include<bits/stdc++.h>
using namespace std;
string s;
int r,c;
char a[110][110];
int main()
{cin>>s;int l=s.size();for(int i=sqrt(l);i>0;i--){if(l%i==0){r=i;c=l/i;break;}}int t=0;for(int i=0;i<c;i++){for(int j=0;j<r;j++){a[j][i]=s[t];t+=1;}}for(int i=0;i<r;i++){for(int j=0;j<c;j++){cout<<a[i][j];}}return 0;
}

 如有错误,欢迎大家评论区指出!感谢!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内存计算研究进展- 针对图计算的近数据计算架构

针对图计算的近数据计算架构的代表性工作有&#xff1a; Seoul National University的 Tesseract和 Georgia Institute of Technology 的 GraphPIM&#xff0c;具体如下。 1 Tesseract Tesseract是一个针对图计算的可编程的内存计算系统架构&#xff0c;它综合了图计算的特点&…

VMware的三种连接模式

桥接模式 就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下&#xff0c;类似于把物理主机虚拟为一个交换机&#xff0c;所有桥接设置的虚拟机连接到这个交换机的一个接口上&#xff0c;物理主机也同样插在这个交换机当中&#xff0c;所以所有桥接下的网…

gin源码实战 day2

gin源码实战day2 今天从中间件开始&#xff1a; 中间件比较重要的代码昨天已经说了&#xff0c;就是next方法和它相关的终止调度器的方法。 中间件 注册中间件 func (engine *Engine) Use(middleware ...HandlerFunc) IRoutes {//Engine继承了RouterGroup&#xff0c;给当前…

weblog项目开发记录--SpringBoot后端工程骨架

知识点查漏补缺 跟着犬小哈做项目实战时发现好多知识点都忘了&#xff0c;还有一些小的知识点可能之前没学过&#xff0c;记录下&#xff01;顺带整理下开发流程。 完整项目学习见犬小哈实战专栏 SpringBoot后端工程骨架 搭建好的工程骨架中实现了很多基础功能&#xff0c;…

如何在同一个module里面集成多个数据库的多张表数据

确保本公司数据安全&#xff0c;通常对数据的管理采取很多措施进行隔离访问。 但是&#xff0c;Mendix应怎样访问散布于异地的多个数据库呢&#xff1f; 前几期我们介绍过出海跨境的大企业对于Mendix的技术、人才的诉求后&#xff0c;陆陆续续有其他客户希望更聚焦具体的实际场…

C语言:qsort模拟实现

C语言&#xff1a;qsort模拟实现 冒泡排序版Swap - 交换函数cmp - 比较函数qsort - 排序主体 qsort函数是C语言中的一个标准函数&#xff0c;用于对数组进行快速排序。其函数原型如下&#xff1a; void qsort(void *base, size_t nmemb, size_t size,int (*compar)(const void…

量子计算:数据安全难题

当今数字技术面临的最大挑战之一是安全系统和数据。为此&#xff0c;人们设计了复杂的算法来加密数据并通过称为对称加密的框架来保护数据。虽然这已被证明是成功的&#xff0c;但量子计算的进步&#xff08;利用量子力学比传统计算机更快地解决复杂问题&#xff09;可能会彻底…

【Pytorch 基础教程2】10分钟掌握Tensor基础 VSCode +Pytorch配置

Pytorch 基础教程 02 Tensor PyTorch 作为Numpy的代替品&#xff0c;可以使用GPU的强大计算能力 提供最大的灵活性和告诉的深度学习研究平台 这里补充上实验环境调试&#xff1a;第一次使用VS Code可以参考&#xff1a;PyTorch&#xff08;超详细&#xff09;部署与激活 举起Py…

优先队列C

由于看到P1629 邮递员送信这题,就去学了优先队列.为学习Dijkstra算法做准备 什么是优先队列 优先队列:是一种特殊类型的队列&#xff0c;每个元素都有一个相关的优先级。在优先队列中&#xff0c;元素按照优先级的顺序进行排列&#xff0c;具有最高&#xff08;或最低&#x…

Prometheus 教程

目录 一、简介二、下载安装1、安装 prometheus2、安装 alertmanager3、安装 grafana4、安装 node_exporter5、安装 mysqld_exporter 一、简介 Prometheus 是一个开源的系统监控和警报工具。它最初由 SoundCloud 开发&#xff0c;并于 2012 年发布为开源项目。Prometheus 专注于…

利用vite快速搭建vue3项目

1、选择一个文件夹&#xff0c;在vscode终端打开&#xff0c;输入命令【npm create vitelatest】 npm create vitelatest 2、提示你输入项目名称之后&#xff0c;我这里设置的是【rookiedemo】 3、回车之后&#xff0c;出现选择框架的提示&#xff0c;我们选择【vue】回车 4、…

js中使用for in注意事项,key的类型为string类型

for in是一个非常实用的存在&#xff0c;既可以遍历数组&#xff0c;又可以遍历对象&#xff0c;所以我一般都是会用来遍历可迭代的数据&#xff0c;遍历数组和对象的时候&#xff0c;要注意使用万能遍历方式&#xff1a; const users [1, 3, 45, 6]// const users {// 1…

Polyspace静态检测步骤

Polyspace 是一个代码静态分析和验证的工具&#xff0c;隶属于MATLAB&#xff0c;用于检测代码中的错误和缺陷&#xff0c;包括内存泄漏、数组越界、空指针引用等。帮助开发团队提高代码质量&#xff0c;减少软件开发过程中的错误和风险。 1、打开MATLAB R2018b 2、找到Polys…

AR智能眼镜主板硬件设计_AR眼镜光学方案

AR眼镜凭借其通过导航、游戏、聊天、翻译、音乐、电影和拍照等交互方式&#xff0c;将现实与虚拟进行无缝融合的特点&#xff0c;实现了更加沉浸式的体验。然而&#xff0c;要让AR眼镜真正成为便捷实用的智能设备&#xff0c;需要解决一系列技术难题&#xff0c;如显示、散热、…

Stable Diffusion 绘画入门教程(webui)-图生图

通过之前的文章相信大家对文生图已经不陌生了&#xff0c;那么图生图是干啥的呢&#xff1f; 简单理解就是根据我们给出的图片做为参考进行生成图片。 一、能干啥 这里举两个例子 1、二次元头像 真人转二次元&#xff0c;或者二次元转真人都行&#xff0c; 下图为真人转二次…

小清新卡通人物404错误页面源码

小清新卡通人物404错误页面源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 蓝奏云&#xff1a;https://wfr.lanzout.com/i6XbU1olftde

二叉树(6)——二叉树的创建和销毁

1 二叉树的创建 整体思路 将数组里的元素一直分为根&#xff0c;左子树&#xff0c;右子树&#xff0c;遇到#就返回NULL&#xff0c;链接到上层递归的左子树或者右子树&#xff0c;一定要把一个节点的左子树全部递归完才能返回到右子树。这种方法也可以scanf一个数组里的元素&…

Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密

一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置&#xff08;读取时自动解密&#xff09;&#xff0c;对Spring Boot项目的属性读取时进行加解密&#xff0c;但是没有说明对System.setProperty(key, value)设…

Mysql全局级别修改SQL模式的详细教程

文章目录 1. 问题描述2. 开发环境3. 解决方法&#xff08;详细步骤&#xff09; 1. 问题描述 Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column btc-cloud.t1.id which is not functiona…

socket与rpc的区别

如今的游戏开发&#xff0c;不搞个跨服玩法都不好意思说在做游戏了&#xff08;当然&#xff0c;也跟游戏类型有关&#xff0c;一些轻度休闲游戏可以排除在外&#xff09;。跨服玩法的设计&#xff0c;可以进一步激发玩家追求高战力的虚荣心&#xff0c;也可以汇聚玩家数量&…