POJ 1026 Cipher

预处理出每个位置循环的周期。


按行读入可以写成scanf("%[^\n]",s)


代码:

//
//  main.cpp
//  1026 Cipher
//
//  Created by Baoli1100 on 15/4/1.
//  Copyright (c) 2015年 Baoli1100. All rights reserved.
//

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
int a[205];
int T[205];
int N;
char s[205];
char res[205];
int main(){
    while(~scanf("%d",&N)){
        if(!N) break;
        for(int i=1;i<=N;i++){
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=N;i++){
            int cur=a[i];
            int t=1;
            while(cur!=i){
                cur=a[cur];
                t++;
            }
            T[i]=t;
        }
        int K;
        while(~scanf("%d",&K)){
            if(!K) break;
            scanf("%[^\n]",s);
            int pos=strlen(s);
            for(int i=pos;i<=N;i++){
                s[i]=' ';
            }
        
            for(int i=1;i<=N;i++){
                int tmp=K%T[i];
                int cur=i;
                for(int j=0;j<tmp;j++){
                    cur=a[cur];
                }
                res[cur]=s[i];
            }
            for(int i=1;i<=N;i++){
                printf("%c",res[i]);
            }
            printf("\n");
            getchar();
        }
        printf("\n");
    }
    return 0;
}










Qt入门教程【基础控件篇】QLineEdit输入框 QLineEdit输入框 阅读详情

相关推荐

高速DAC设计与实现--AD9122

目录 芯片简介: 功能配置设计 高速DAC软件驱动设计 芯片简介: AD9122 是一款双通道16位高性能数模转换器(DAC),在800MSPS工作条件下其无杂散动态范围(SFDR)高达72dBc,最高可提供1200 MSPS采样速率。 高速DAC--AD9122电路原理图 硬件设计的电路原理图如上图所示,AD9122具备针对直接变频传输应用进行优化的特性,包括复数数字调制以及增益与失调补偿。DAC输出经过优化后可直接与模拟正交调制器无缝接口,便于后期使...

独木舟216的博客 1万+

poj 1026 Cipher

<br />// poj 1026 Cipher<br />/* <br />   一直超时,到后来才发现其实很简单,但是代码已经写得很乱了。<br />   主要是预处理一下,对于每一个i上的字符加密一定次数后,结果会构成一个<br />   循环,也就是回到i的位置,如果我们求出这个循环周期,并把路径记录下来,<br />   那么就可以使用取余运算确定最终第i个字符的位置了。<br />*/<br />#include <iostream><br />#include <algorithm><br /

birdforever的专栏 520

告别手动标注!PDMS NakiToolkit插件安装与初体验:以Pipeline工具为例

本文详细介绍了PDMS NakiToolkit插件的安装与使用,特别是其Pipeline工具如何通过自动化标注和材料统计功能大幅提升三维工厂设计效率。从环境准备到实战演示,帮助工程师告别繁琐的手动标注工作,实现项目交付周期的大幅缩短。

weixin_30047059的博客 351

POJ1026 Cipher

题目来源:http://poj.org/problem?id=1026 题目大意:   Bob和Alice使用了一种全新的编码方式进行通信。密钥是一组整数序列:a1,a2,...,an,每个数都大于0,小于等于n.编码方式为:第i个字符换至ai位置处。然后得到的编码再编码一次,如此重复k次。信息的长度小于等于n,如果程度小于n,则后面用空格补齐。写一个程序读入编码规则和待编码字符串,输出编码结...

weixin_30621919的博客 112

信号完整性基础04:串扰(1)

我们理解了“单个”传输线(传输线是信号路径+回流路径,切记~),但大多数情况下单独“传输线”的情况并不多见(理想情况下的同轴线缆可以算一个),大多数我们PCB板上有成百上千条走线,它们组成了一个“大社会”,就如当年的TVB神剧《创世纪》一样,到处充满着恩怨情仇;稍处理不慎,单板这个“社会”就会崩溃。那么我们要从哪里入手去理解它呢?最基本的就是从两条PCB走线(传输线)之间的串扰开始。好,年前倒数第二章:《为什么会有串扰》。 ps:我们了解了x射线是啥,那么今天开始讲“放射线”,这两种东西是否就是同一种呢~

WKEZHENG的博客 6038

LangChain4j + Milvus 从0-1实现会话管理与RAG检索的AIChat超详细教程

本教程将介绍如何使用LangChain4j和Milvus向量数据库构建一个具备流式输出、会话管理、会话隔离和基于文档RAG检索能力的AI机器人。我们将使用阿里百炼模型作为LLM后端,并通过Docker部署Milvus向量数据库。创建Assistant接口,定义聊天服务:LangChain4j 中文文档 | LangChain4j 中文文档wiringMode :这个属性一般两种,一种是自动装配,我们这里选择手动配置。

2301_80014343的博客 1436

POJ1026 Cipher

POJ1026 CipherDescription 对于一个长度为n的字符串,有一个数组表示第i个字符放到那个位置。输入多个字符串,问这样操作k次后的字符串是什么样子的。InputOutputSample

Lxp的博客 530

【信息学奥赛一本通】1215:迷宫(bfs版)

同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。每组测试数据的第1行是一个正整数n(1≤n≤100),表示迷宫的规模是n×n的。接下来是一个n×n的矩阵,矩阵中的元素为‘再接下来一行是4个整数ha,la,hb,lb,描述A处在第ha行, 第la列,B处在第hb行, 第lb列。一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n的格点组成,每个格点只有2种状态,.

chu_xiaojie的博客 946

POJ 1026 Cipher(置换群)

POJ 1026 Cipher(置换群) 思路 ​ 将置换分解为若干组循环节,然后置换kkk次就是对每个循环节长度取模即可。 时间复杂度:O(n)O(n)O(n) code // Problem: Cipher // Contest: POJ - Central Europe 1995 // URL: http://poj.org/problem?id=1026 // Memory Limit: 10 MB // Time Limit: 1000 ms // Date: 2021-03-30 21:04:0

Harris-H的博客 549

Autodesk软件网络授权破解

Autodesk 全系列产品网络授权破解 此网络许可授权破解文件及方法适用Autodesk 绝大部分的产品, 安装网络许可证管理器Autodesk网络许可证管理器x64位官方下载地址( https://knowledge.autodesk.com/sites/default/files/file_downloads/nlm11.14.1.3_ipv4_ipv6_win64.msi ) Autod...

weixin_33919950的博客 8265

SSE(Server-Sent Events)完整使用示例

本篇使用Node.js 作为服务端,在浏览器客户端演示SSE的完整实例和演示。实现了一个基于 Server-Sent Events (SSE) 的实时数据推送功能。

oscar999的专栏 750

poj 1026 Cipher (置换群)

链接:poj 1026 题意:给定n个大小1-n的不同的整数作为密钥,给定一个字符串,       求将该字符串经过k次编码后的字符串 分析:暴力求解会超时,可以利用置换群的知识解题 置换群:一个有限集合的一一变换叫做置换,一对对置换组成了置换群。 对于一个集合a(a[1],a[2],a[3]...a[n]) 通过置换可以变成      (b[a[1]],b[a[2]],b[a[3

happy_lcj 4760

手把手教你学simulink(26.7)--控制算法场景示例:基于模型预测控制(MPC)的智能温室环境控制系统

首先,我们需要将温室环境的动力学模型转换为状态空间形式。假设我们有四个状态变量:温度 TT、湿度 HH、光照强度 II 和二氧化碳浓度 CCO2CCO2​,以及四个控制输入:加热器功率 u1u1​、加湿器加湿量 u2u2​、通风扇风速 u3u3​ 和补光灯光照强度 u4u4​。状态空间模型可以表示为:x(t)=[T(t),H(t),I(t),CCO2(t)]Tx(t)=[T(t),H(t),I(t),CCO2​(t)]T 是状态向量。

MHD0815的博客 401

poj1026-Cipher

Cipher Description Bob and Alice started to use a brand-new encoding scheme. Surprisingly it is not a Public Key Cryptosystem, but their encoding and decoding is based on secret keys. They chose the s...

rainbowsea_1的博客 204

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj1026 Cipher 置换群

题意:给一个序列

AC_kereo的专栏 776

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

poj1026Cipher

置换群第三题,找出循环节,然后取余进行操作,加深了对置换的应用,越发感觉置换群很有趣。 #include #include #include #include using namespace std; const int maxn =201; int n,k; char s[maxn],ss[maxn]; int zh[maxn],b[maxn],zz[maxn],f[maxn],ok[maxn

I fight, so you don't have to 1067

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

POJ1026 Cipher 【polya】

This question is not so difficult. First,my thoughts were we should use a lot of code to find out the loop block,but there is no need to do that . you just need to get every new position of char in

Rainto的专栏 678

poj 1026 Cipher(置换)

http://poj.org/problem?id=1026 大致题意:给出数字n和一个1~n的序列num[]。然后给出若干个字符串,让字符串的下标i和num[i]交换,问交换K次后得到的字符串是什么。输入的字符串长度小于等于n,若小于n就用空格来补。 例如样例1 4 5 3 7 2 8 1 6 10 9 H  e  L   L  o  B  o  b  ' '    ' '

1019
上一篇: POJ 1023 The Fun Number System (递推)
下一篇: POJ 1032 Parliament (水题)
Baoli1008
博客等级 码龄12年 70粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值