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;
}

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

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

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

相关文章

pytorch数学运算

目录 1. pytorch的数学运算包括2. 基本运算3. matmul4. power sqrt rsqrt5. exp log6. 近似值7. clamp 1. pytorch的数学运算包括 ▪Add/minus/multiply/divide ▪Matmul ▪Pow ▪Sqrt/rsqrt ▪Round 2. 基本运算 、-、*、/ 也可以使用函数add sub mul div 3. matmul 矩阵…

Excel练习:双层图表

Excel练习&#xff1a;双层图表 学习视频Excel制作双层图表&#xff0c;很多人都不会&#xff0c;其实只需1步操作就够了&#xff01;_哔哩哔哩_bilibili ​​ 通过调整两个图形的显示范围实现 增加折现图的负数显示范围&#xff0c;使折现图仅出现在整体图形的上方增加柱形…

VSCODE使用Django 页面和渲染

https://code.visualstudio.com/docs/python/tutorial-django#_use-a-template-to-render-a-page 通过模板渲染页面 文件 实现步骤 1&#xff0c; 修改代码&#xff0c;hello的App名字增加到installed_apps表中。 2&#xff0c; hello子目录下&#xff0c;创建 .\templates\…

什么是矩阵的秩?如何计算矩阵的秩?(done)

什么是矩阵的秩&#xff1f;https://search.bilibili.com/all?vt21986927&keyword%E4%BB%80%E4%B9%88%E6%98%AF%E7%9F%A9%E9%98%B5%E7%9A%84%E7%A7%A9%EF%BC%9F&from_sourcewebtop_search&spm_id_from333.1007&search_source5 矩阵本质上是线性方程组。但是方…

dockerfile文件书写

1.dockerfile构建nginx镜像 1.1书写dockerfile文件 mkdir nginx #创建nginx目录 cd nginx vim dockerfile # 修改文件FROM centos # 基础镜像&#xff0c;默认最新的centos8操作系统 MAINTAINER xianchao # 指定镜像的作者信息 RUN rm -rf /etc/yum.repos.d/* # centos8默认…

【label studio 升级记录】

label studio 版本升级记录 label studio 从1.8.1 升级到1.11.0 过程记录启动后遇到问题1:解决方法: 遇到问题2 安装版本与启动显示的版本不一致解决方法: label studio 从1.8.1 升级到1.11.0 过程记录 # 当前(2024-02)最新版是1.11.0 pip install -U label-studio启动后遇到…

【Python】OpenCV-图片添加水印处理

图片添加水印处理 1. 引言 图像处理中的水印添加是一种常见的操作&#xff0c;用于在图片上叠加一些信息或标识。本文将介绍如何使用OpenCV库在图片上添加水印&#xff0c;并通过详细的代码注释来解释每一步的操作。 2. 代码示例 以下是一个使用OpenCV库的简单代码示例&…

强化学习入门(Matlab2021b)-创建环境【2】

目录 1 前言2 利用step和reset函数创建自定义环境2.1 对象描述2.2 reset函数2.3 step函数2.3 构建自定义环境3 使用匿名函数传递额外的参数4 可视化检查自定义函数的输出参考链接1 前言 本文介绍如何基于MATLAB编写step、reset函数,创建自己的强化学习环境(Environment)。 使…

手撕qsort函数

前言 本篇主要讲解的是qsort函数细节以及运用实例。 紧跟我的脚步一起手撕qsort函数吧~ 欢迎关注​​个人主页&#xff1a;逸狼 更多优质内容&#xff1a; 拿捏c语言指针&#xff08;上&#xff09; 拿捏c语言指针&#xff08;中&#xff09; 拿捏c语言指针&#xff08;下&…

Https证书续签-acme.sh-腾讯云之DnsPod

ename 域名切换到 DnsPod 上面解析 可以先看下之前的 acme.sh 介绍文章然后再来次补充更多。 之前说过了 acme.sh 在阿里云下的使用。 这里做个后续补充 之前的域名是在 ename 上的 &#xff0c;为了自动续签切换到 DnsPod 上面解析 注意事项 可以把原来 ename 上的解析先导出…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson 15 At the Department Store 在百货商店

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 15 At the Department Store 在百货商店会话A会话B笔记 Lesson 15 At the Department Store 在百货商店 会话A A: Can you help me, please? B: Sur…

电脑任务栏一直转圈圈怎么办 电脑底部任务栏卡死桌面没事的解决办法

最近有一些用户反映&#xff0c;自己的电脑底部任务看卡死桌面没事&#xff0c;不知道是什么原因&#xff0c;也不清楚应该如何解决&#xff0c;是由于资讯和兴趣页面加载时卡死导致的&#xff0c;将其关闭后即可解决&#xff0c;以下是小编提供的电脑任务栏一直转圈圈的解决方…

java 使用documents4j将XML转为pdf文件的方式

1.背景&#xff1a; 通过spire.doc.free将word转换成PDF时存在缺陷&#xff1a;只能获取前3页。获取全文另外需支付费用。 2.解决办法 使用documents4j&#xff0c;documents4j会保留原word文件中更多的样式&#xff0c;如修订模式下的差异化字体颜色、文档右侧修订记录等。 …

Paddlepaddle使用自己的VOC数据集训练目标检测(0废话简易教程)

一 安装paddlepaddle和paddledection&#xff08;略&#xff09; 笔者使用的是自己的数据集 二 在dataset目录下新建自己的数据集文件&#xff0c;如下&#xff1a; 其中 xml文件内容如下&#xff1a; 另外新建一个createList.py文件&#xff1a; # -- coding: UTF-8 -- imp…

K8s ingress-nginx根据请求目录不同将请求转发到不同应用

K8s ingress-nginx根据请求目录不同将请求转发到不同应用 1. 起因 有小伙伴做实验想要实现以下需求: 输入www.pana.com/app1访问app1的svc 输入www.pana.com/app2访问app2的svc 2. 实验 2.1 Dockerfile 先准备Dockerfile FROM nginx:1.20ADD index.html /usr/share/ngin…

长短期记忆神经网络

目录 LSTM 神经网络架构 分类 LSTM 网络 回归 LSTM 网络 视频分类网络 更深的 LSTM 网络 网络层 分类、预测和预报 序列填充、截断和拆分 按长度对序列排序 填充序列 截断序列 拆分序列 指定填充方向 归一化序列数据 无法放入内存的数据 可视化 LSTM 层架构 …

2024年的一些碎碎念(小目标)

新年开工好几天了&#xff0c;最近思绪非常混乱&#xff0c;因为入职软件测试又过去一年了&#xff0c;但是却没有达到像培训机构说的那样月薪过万&#xff0c;所以整个人很焦虑。最近也去投了简历&#xff0c;有个HR说跳槽太频繁拒绝了我&#xff0c;入行两年换了两家公司&…

【前端素材】推荐实用的后台管理系统ebazer电商平台模板(附带源码)

一、需求分析 后台管理系统网站是指用于管理和控制网站、应用程序或系统后台运行的管理工具。它通常是网站或应用程序的管理者、管理员或内容编辑人员使用的界面&#xff0c;具有一系列功能来管理用户、内容、数据和系统设置。以下是后台管理系统网站的功能和特点&#xff1a;…

微信小程序video 点击自动全屏播放

//因为这个地址可能是图片也可能是视频 点击 图片可以预览&#xff0c;点击视频可放大全屏自动播放。 代码如下 <view v-else :class{contentImg: x.picture.length0} style"margin-top: 10px;"v-for"(x1, y1) in x.picture" :key"y"><…

java基础之 注解与异常

注解 注解说明 用于对代码进行说明&#xff0c;可以对包、类、接口、字段、方法参数、局部变量等进行注解&#xff0c;它主要的作用有以下四个方面&#xff1a; 生成文档&#xff1a;通过代码里标识的元数据生成javadoc文档。编译检查&#xff1a;通过代码里标识的元数据让编…